vim命令模式操作

2023-11-06

 

  • 问题

以下所有操作都在命令模式进行:

  1. 把/etc/passwd文件,拷贝到/opt命名为nsd.txt
  2. 对/opt/nsd.txt进行如下操作:
  3. 切换到最后一行
  4. 切换到第一行
  5. 删除第二行
  6. 复制第一行到最后一行
  7. 查找root字符串
  • 方案

本题主要练习的是命令模式的常用操作,光标行间跳转,切换到最后一行可以在命令模式直接输入“G”。切换到第一行可以直接输入“1G”或“gg”。

删除光标所在行直接输入“dd”即可。

复制光标所在行直接输入“yy”即可。

粘贴时按“p”即可,是粘贴光标之后。

查找root字符串,输入“/root”即可。

  • 步骤

实现此案例需要按照如下步骤进行。

步骤一:切换到最后一行

命令操作如下所示:

[root@localhost ~]# cp /etc/passwd /opt/nsd.txt

此时光标在首行的首字符,此模式是vim的命令模式。

如图-4所示:

图-4

按键盘“G”键将光标切换到最后一行。

如图-5所示:

图-5

步骤二:切换到第一行

此时光标在末行的首字符,此模式是vim的命令模式。

按键盘“gg”键将光标切换到第一行。如图-6所示:

图-6

步骤三:删除第二行

此时光标在首行的首字符,此模式是vim的命令模式。

用键盘输入“2G”将光标切换到第二行。如图-7所示:

图-7

用键盘输入“dd”,删除该行。如图-8所示:

图-8

步骤四:复制第一行到最后一行

按键盘上方向键,将光标移动到第一行,此时光标在首行的首字符,此模式是vim的命令模式。

如图-9所示:

图-9

用键盘输入“yy“复制第一行。然后,用键盘输入”G“切换到最后一行。如图-10所示:

图-10

用键盘输入“p“键粘贴。如图-11所示:

 

图-11

步骤五:查找root字符串

此时光标在首行的首字符,此模式是vim的命令模式。输入“/root”即可,会看到所有root会有颜色高亮显示。

如图-12所示:

 

 

图-12

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vim命令模式操作 的相关文章

  • 在 Mac OS X 中将 Caps Lock 用作 Esc

    How do I make Caps Lock work like Esc in Mac OS X Edit As described in this answer https stackoverflow com a 40254864 66
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir
  • C 标准库函数与系统调用。哪个是“open()”?

    I know fopen 在C标准库中 所以我绝对可以调用fopen C 程序中的函数 我感到困惑的是为什么我可以打电话给open 功能也一样 open 应该是系统调用 所以它不是标准库中的C函数 因为我能够成功地调用open 函数 我调用
  • 如何将字符串推送到标准输入?在启动时通过 stdin 提供输入,然后以交互方式读取 stdin 输入 [重复]

    这个问题在这里已经有答案了 有没有办法在调用程序时将字符串 推送 到程序的标准输入流 这样我们就可以达到这样的效果 echo something my program 但不是在之后读取 EOF something my program将从原
  • 我如何知道 std::map 插入成功还是失败?

    我在多线程应用程序中有一个映射 将名为 uuid 的类映射到指针 我想知道插入操作是否成功或失败 e g mymap insert hint MyMap value type entry uuid itemptr 如果失败的话会抛出异常或者
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • 使用 xargs 时如何获取退出代码(并行)

    我制作了一个用于启动并行 rsync 进程的脚本 bin bash LIST 1 DEST DIR 2 RSYNC OPTS 3 echo rsyncing From SRC DIR To DEST DIR RSYNC OPTS RSYNC
  • pip 找不到满足要求的版本 django==2.2.1

    我刚刚将操作系统更改为 linux 并且想安装 django 但我无法安装最新版本的 django 我努力了 pip install django 但是它安装了 django 1 11 11 这不是我需要的 我还将我的 pip 升级到了 1
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 如何使用 system() 函数的第二个参数(输入)

    vim 的文档system函数对第二个参数是这样说的 当给出 input 时 该字符串将写入文件并作为标准输入传递给命令 我从中了解到的是 如果你system通话看起来像这样 call system node something js fi
  • tcmalloc/jemalloc 和内存池之间有什么区别(以及选择的理由)?

    tcmalloc jemalloc是改进的内存分配器 还引入了内存池以更好地分配内存 那么它们之间有什么区别以及在我的应用中如何选择它们呢 这取决于您的程序的要求 如果您的程序有更多的动态内存分配 那么您 需要从可用的分配器中选择一个内存分
  • Docker容器内的动态监听端口

    我有一个应用程序 在使用其默认端口建立一些连接后 开始打开 侦听 新的随机端口来处理现有连接 然后删除它们 视频通话 它还在通信协议内交换其IP地址和端口 我能够解决IP地址问题 但仍然无法找到一种方法来动态告诉主机的IPTABLES在Do
  • gVim 和 gVim easy 有什么区别?

    这个问题是不言自明的 但经过一个小时的搜索 我还没有找到任何资源可以解释其中的差异 在对两者进行了一些研究后 发现 gVim 和 gVim easy 是相同的 gVim Easy 启动并锁定在插入模式 您输入的每个字符都像简单的记事本一样打
  • 为什么在 Vim 的插入模式下粘贴长一行非常慢?

    昨天 当我尝试将 1200 行 每行 80 个字符 粘贴到 Vim 时 我的 Macbook 被卡住了 下载文件而不是粘贴文本要快得多 我认为这个问题可能是互联网运营商允许上传速度比下载速度慢的原因 如果您将其粘贴到终端窗口中 Vim 会认
  • 使用多个 NIC 广播 UDP 数据包

    我正在 Linux 中为相机控制器构建嵌入式系统 非实时 我在让网络做我想做的事情时遇到问题 该系统有 3 个 NIC 1 个 100base T 和 2 个千兆端口 我将较慢的连接到相机 这就是它支持的全部 而较快的连接是与其他机器的点对
  • Vim 重复点(“.”)命令缓冲区?

    我真的很喜欢 YankRing 的行为 它让我可以访问我最近完成的几件事y固定或d已删除或c不假思索地被吊死了 然而 这样的补充功能对于 重复命令 最常见的是当我键入我真正想重复的内容时 然后按x清理一些东西 通常 可以通过视觉模式拉动我刚
  • 当下一条(跳过)指令是变量定义时,Shellcode 中的 JMP 意外行为

    Purpose 我试图利用 x86 64 中的 RIP 模式 尽管程序集本身按预期执行 但 shellcode 却没有 问题 简而言之 我尝试过的是这样的 jmp l1 str1 db some string l1 other code l
  • 导入错误:没有名为“tensorrt”的模块

    我使用 Debian 安装在我的虚拟机上安装了 TensorRT 如果我运行 dpkg l grep TensorRT 我会得到预期的结果 ii graphsurgeon tf 5 0 2 1 cuda10 0 amd64 GraphSur
  • Vi/vim - 从末尾行删除,包括最后一个字符

    我想做类似这个问题的事情VI VIM 删除 更改从右到左 https stackoverflow com q 9154212 301527即从行尾删除到该行中 的最后一个实例 这可以使用dT 将光标放置在该行的末尾 然而 这个命令和其他这样
  • “设置:非法选项 -”在一台主机上,但在另一台主机上则不然

    我在我的一台 ubuntu 虚拟机中编写了一个 sh 脚本 该脚本工作正常 但是当我尝试在其他虚拟机中运行它时 它不起作用 两个虚拟机应该相同 和bash version两个虚拟机均回复 GNU bash version 4 3 11 1

随机推荐

  • Qt 遍历 QTreeView 获取所有节点数据

    实现代码 model 为私有变量 QStandardItemModel model void ParamSettingDlg GetNode for int i 0 i lt model gt rowCount i QStandardIte
  • react---ant design pro----修改logo和title

    1 内容页的logo和tittle修改入口 如果想要直接干掉logo 需要在App tsx里面写这个 logo false 2 网页左边的logo和tittle修改入口 直接修改 地址 提前放好图片文件在public里面
  • WTL配置

    上几天下了一个VC 程序 使用VS2008打开直接编译 提示 fatal error C1083 无法打开包含文件 atlapp h No such file or directory 上网查了一下 说是没有配置第三方WTL库 WTL是什么
  • 基于docker安装gitlab

    采用docker镜像安装GitLab 3 2 1 简介 官网 https github com sameersbn docker gitlab 7 4 3之前版本 镜像里包含所有组件 7 4 3版本镜像里只包含核心组件 nginx sshd
  • 记一次生产环境踩过的坑

    欢迎访问个人博客 德鲁大叔撸代码 今天 自己负责开发的对账系统终于要上线了 激动又紧张 激动什么 完全个人开发的项目第一次走上线流程 甚是激动啊 紧张什么 对呀 就是因为第一次上线 所以怕出现什么不可预测的问题 毕竟公司会把上线成功率当做有
  • C语言-控制程序的输入输出并设置参数

    一 控制程序的输入输出c语言编写的小工具 操作系统会为其分配三条数据流 一个标准输入 一个标准输出 一个标准错误输出 1 用户也可以通过编写代码控制输入输出的数据流数量2 用户可通过操作系统的命令设置输入输出目标是屏幕还是文件 是键盘还是文
  • mysql分别获取已有数据date中的年月日

    感谢原问题回答者的分享 https zhidao baidu com question 217376525 html mysql数据库 test表中有一字段Date 类型为date 已有数据 如何分别获取其中的年 月 日 不是获得当前日期哦
  • ArcGIS小技术 —— 修改字段顺序的三种方法

    修改字段顺序的四种方法 数据字段如下 方法一 合并 方法二 追加 方法三 删除并按顺序重新创建字段 数据字段如下 方法一 合并 使用合并工具调整字段顺序 方法二 追加 1 创建一个新的数据 并且按照想要的顺序添加好字段 2 使用 追加 工具
  • 采用face_recognition进行人脸识别时,解决摄像头太远人脸太小导致无法检测的问题

    经测试发现 把图像resise放大后再进行人脸识别 可以识别出非常小的人脸区域 以上相片站在10米开外 分辨率300万的笔记本电脑上都可以识别 不过处理速度非常的慢 很卡 不知道换1080TI或者以上显卡能否提高效率 本来离摄像头不到1米的
  • 用ESP学习单片机之Arduino_Esp-32s获取2.8‘‘TFT LCD屏幕的触摸数据_ILI9341_SPI_XPT2046

    简介 点亮该屏幕的笔记 既然都能显示了 肯定要获取触摸位置啊 从实物图中可知该屏幕的触摸IC为XPT2046 Arduino IDE需配置esp32开发环境 开发板 ESP 32 触摸过程 这里实现的是触摸屏幕获取坐标 IO映射 TFT L
  • 医学知识-CT的窗宽窗位

    CT的窗技术 窗技术是CT检查中用以观察不同密度的正常组织或病变的一种显示技术 包括窗宽 window width 和窗位 window level 由于各种组织结构或病变具有不同的CT值 因此欲显示某一组织结构细节时 应选择适合观察该组织
  • 为什么软件开发很难?真相了

    为什么软件开发很难 真相了 作者 Jeremy Mikkol 本文认为这种困难与编程语言无关 因为现代的编程语言已经足够好了 那么 原因到底是什么 有一种观点认为 使用更好的编程语言就会让软件开发变得更容易 更高效 在汇编或 Fortran
  • vue ajax异步提交文件,vue中用ajax上传文件

    直接上代码 uploadCompany function event this file event target files let formdata new FormData formdata append file this file
  • 深度学习中常用的Adam算法

    一 Adam算法 Adam Adaptive momentum 是一种自适应动量的随机优化方法 A method for stochastic optimization 经常作为深度学习中的优化器算法 二 算法详细步骤 引用 三 Adam优
  • Java开发的模板引擎--freemarker

    模板引擎 freemarker 一 基础知识 1 1 模版引擎 1 2 关于freemarker 1 3 常用的java模版引擎 1 4 快速入门 1 4 1 指定了SpringBoot的版本 1 4 2 指定了pom xml文件依赖 1
  • dataframe将某列的空值填充为12

    工作中遇到某列数据中空值需要替换为12 df 支付周期 fillna 12 inplace True
  • 配置描述文件mobileconfig的生成

    为什么80 的码农都做不了架构师 gt gt gt 使用总结 http huodong kuaiyong com kymobile trust mobileconfig 可以把这个文件下载下来之后 借用一下 http app shouyou
  • CUDA矩阵乘法的优化

    本文以 深入浅出谈cuda 中矩阵乘法优化的部分为主线 体会cuda的并行执行过程 文章目录 1 实验环境 2 实验过程 2 1 初始版本 2 2 第一次改良 提高精度 2 3 第二次改良 使用共享内存 2 4 第三次改良 使用cudaMa
  • 四十七.快速排序C语言实现

    include
  • vim命令模式操作

    问题 以下所有操作都在命令模式进行 把 etc passwd文件 拷贝到 opt命名为nsd txt 对 opt nsd txt进行如下操作 切换到最后一行 切换到第一行 删除第二行 复制第一行到最后一行 查找root字符串 方案 本题主要