命令模式中的命令主要取代的是Linux系统中鼠标的操作。

vim编辑器的快捷键一般都集中在命令模式下。

1、移动光标操作

(1)上下左右移动光标

左、下、上、右方向键,对应H、J、K、L

注:小键盘的上下左右键也行

(2)把光标移动到文件头或尾

  • gg:移动到文件头。
  • G:移动到文件尾(shift+g)。

(3)移动到行首或行尾

  • ^:移动到行首。
  • $:移动到行尾。

(4)移动到指定行

:n:移动到第几行。

这里n是数字,准备移动到第几行,就用哪个数字。

2、删除或剪切操作

(1)删除字母

  • x:删除单个字母。
  • nx:删除n个字母。

    n是数字,如果打算从光标位置删除连续的10个字母,可以使用"10x”即可。

删除字母并不符合使用习惯,我们更习惯在输入模式中,用"Backspace"键删除字母。

(2)删除整行或剪切

  • dd:删除单行。
  • ndd:删除多行(如3dd直接按就可以了,界面上没有任何变动,输入完3dd就会删除三行)。
  • :n1,n2d:删除指定范围的行。(n1和n2表示行号,如从第五行删除到第十行,:5,10d,包含第5行和第10行)

删除整行或多行,这是比较常用的删除方法。这里的dd快捷键既是删除,也是剪切。删除内放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。

粘贴方法如下:

  • p:粘贴到光标后(光标所在行的下一行)。
  • P(大):粘贴到光标前(光标所在行的上一行)。

(3)从光标所在行删除到文件尾

是否可以删除整篇文档,vim没有删除整篇文档的快捷键,但是可以这样:

dG:从光标所在行删除到文件尾。

d是删除行,G是移动到文件尾,连起来就是从光标所在行删除到文件尾。如果把光标放在文件首,那么dG就变成了删除整篇文档了。

3、复制操作

  • yy:复制单行。
  • nyy:复制多行。

复制之后的粘贴,依然可以使用p键或P(大)键,同上。

4、撤销操作

  • u:撤销。
  • ctrl+r:反撤销。
  • u键能一直撤销到文件打开时的状态,类似Windows下ctrl+z键的作用。
  • ctrl+r能一直反撤销到最后一次操作状态,类似Windows下ctrl+y键的作用。

5、替换操作

  • r:替换光标所在处的字符。
  • R:从光标所在处开始替换字符,按ESC结束。

r键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。

6、补充一个知识点

我们在打开Linux系统的文件时,常常出现下面情况:

出现上图中的情况,说明你上次没有正确退出abc文件,导致abc临时的隐藏文件.abc.swp,没有被删除。(.abc.swp文件就相当于在Windows系统中打开wrod文档,也会有一个临时文件一样。)

而Linux系统就会认为abc文件正在被另一个用户使用。

碰到这种情况一般都是非法关机导致的。每次编辑abc文件都会弹出这个信息,需要按下回车才能打开文件,会很麻烦,解决方法就是把.abc.swp文件删除就可以解决了。

『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令的更多相关文章

  1. 『学了就忘』vim编辑器基础 — 94、vim编辑器介绍

    目录 1.vim编辑器简介 2.vim的工作模式 (1)命令模式 (2)输入模式 (3)最后行模式(末行模式) 1.vim编辑器简介 vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器, ...

  2. 『学了就忘』vim编辑器基础 — 96、末行模式中的相关命令

    目录 1.在文档中显示行号 2.是否显示文档内容相关颜色 3.是否将查找的字符串高亮显示 4.是否显示右下角的状态栏 5.是否在左下角显示如"--INSERT--"之类的状态栏 6 ...

  3. 『学了就忘』vim编辑器基础 — 97、vim使用技巧

    目录 1.在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 (2)在vim中执行系统命令 (3)导入命令结果 2.设定快捷键 3.字符替换 4.多文件打开 vim使用技巧,就是vim编辑器 ...

  4. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  5. 『学了就忘』Linux日志管理 — 90、Linux中日志介绍

    目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工 ...

  6. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

  7. 『学了就忘』Linux用户管理 — 52、用户组管理相关命令

    目录 1.添加用户组 2.删除用户组 3.把用户添加进组或从组中删除 4.有效组(了解) 1.添加用户组 添加用户组的命令是groupadd. 命令格式如下: [root@localhost ~]# ...

  8. 『学了就忘』Linux权限管理 — 54、sudo授权

    目录 1.什么是sudo授权 2. sudo授权说明 3.sudo命令的使用 示例1 示例2 示例3 1.什么是sudo授权 在Linux系统中,/sbin/和/usr/sbin/两个目录中的命令只有 ...

  9. 『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)

    目录 1.命令格式 2.查看文件系统属性chattr权限 3.示例 文件系统属性chattr权限,也叫不可改变位权限,该权限没有风险,但是他能限制root用户. 1.命令格式 [root@localh ...

随机推荐

  1. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  2. Redis篇:单线程I/O模型

    关注公众号,一起交流,微信搜一搜: 潜行前行 redis 单线程 I/O 多路复用模型 纯内存访问,所有数据都在内存中,所有的运算都是内存级别的运算,内存响应时间的时间为纳秒级别.因此 redis 进 ...

  3. 初学js正则表达式之密码强度验证

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 「译」 .NET 6 中 gRPC 的新功能

    gRPC是一个现代的.跨平台的.高性能的 RPC 框架.gRPC for .NET 构建在 ASP.NET Core 之上,是我们推荐的在 .NET 中构建 RPC 服务的方法. .NET 6 进一步 ...

  5. 通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议

    1 <STM32进阶之串口环形缓冲区实现>中讲得比较清楚(链接) 2 amobbs中讲的方法有点复杂,以下是链接和参考源码: 通信方案软件设计(环形动态申请内存,支持USART+IIC+S ...

  6. Oracle—表、约束、索引、表空间、分区、序列、统计信息

    表.约束.索引.表空间.分区.序列.统计信息 一.表及其操作 1.创建表 create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 ...

  7. Linux下删除的文件如何恢复

    Linux下删除的文件如何恢复 参考自: [1]linux下误操作删除文件如何恢复 [2]Linux实现删除撤回的方法 以/home/test.txt为例 1.df -T 文件夹 找到当前文件所在磁盘 ...

  8. minSdkVersion、targetSdkVersion、targetApiLevel的区别

    在AndroidMenifest.xml中,常常会有下面的语句:  <uses-sdk android:minSdkVersion="4" android:targetSdk ...

  9. Dubbo使用Zookeeper注册中心

    在生产环境下使用最多的注册中心为Zookeeper,当然,Redis也可以做注册中心 一.创建提供者02-provider-zk (1) 导入依赖 https://blog.csdn.net/u012 ...

  10. 【Linux】【Commands】systemd

    1. 系统启动流程:POST --> Boot Sequeue(BIOS) --> Bootloader(MBR) --> Kernel(ramdisk) --> rootfs ...