1、 在光标所在行查找字符在普通模式下用 ​​f{char}​​ 命令,光标会移动到该字符所在的位置。向下反复查找在普通模式下用 ​​;​​,向上回退查找用 ​​,​

2、 在光标所在行查找与替换在普通模式下用 ​​:s/target/replacement​​ ,当中 target 和 replacement 分别用被替换的字符或字符串和替换的字符或字符串取代,反复在普通模式下用 ​ ​&​​ 命令。回退在普通模式下用 ​​u​

手动控制每一次替换在普通模式下用 ​​:%s/target/replacement/gc​​ ,这种话 Vim 会在每一次出现替换的地方询问是否替换,有下面几种选项:

​y​​: 替换此处匹配

​n​​: 忽略此处匹配

​a​​: "all" —— 替换此处与之后全部的匹配

​l​​: "last" —— 替换此处匹配后退出

​q​​: 退出替换过程

​<C-e>​​: 向上滚动屏幕 

​<C-y>​​: 向下滚动屏幕

3、 查找当前光标下的单词在普通模式下用 ​​*​

4、 一键移动,还有一键改动 —— ​​.​​ 范式

5、 写代码思维停顿时请回到 普通模式,把思维单元切成 块,这样方便犯了错误在普通模式下按 ​​u​​ 回退操作的时候能接上之前的思路接着改动。在适当的时候,换行操作採用 ​​<Esc>o​​,这样会使撤销时有更小的粒度,有利于编码操作

6、 在普通模式下按 ​​db​​,反向删除从光标起始位置到单词开头的内容,但会原封未动地留下最后一个字符

7、 在普通模式下按 ​​b​​,会将光标移动到单词的开头

8、 在普通模式下按 ​​daw​​,即 "delete a word"。删除一个单词

9、 在普通模式下 ​​<C-a>​​ 和 ​​<C-x>​​ 分别对数字运行加和减操作,在不带次数运行时,它们会逐个加减。但假设带一个次数前缀。那么就能够用它们加减随意整数,比如我们把光标移动到数字 5 上。运行 ​ ​10<C-a>​​ 就会把它变成 15,假设光标不在数字上,那么 ​​<C-a>​​ 和 ​​<C-x>​​ 会在当前行正向查找一个数字,假设找到了。它就径直跳到那里

10、 在普通模式下按 ​​yyp​​ 会复制当前行并粘贴到下一行

11、 在普通模式下加上次数表示反复,比如 ​​2dw​​ 或 ​​d2w​​ 都表示要删除两个单词,​​2u​​ 表示回退两步等等,可是最好仅仅在必要时使用次数

12、 在普通模式下按 ​​dl​​ 删除当前光标下的单词,但不进入插入模式。按 ​​dap​​ 删除整个段落

13、 在 Vim 中,操作符 + 动作命令 = 操作,当一个操作符被连续调用两次时。它会作用于当前行,比如: ​​dd​​删除当前行。​​>>​​ 缩进当前行。可是 ​​gU​​ 命令是一个特殊情况,既能够用 ​​gUgU​​,也能够用简化版本号的 ​​gUU​​ 来使它作用于当前行,经常使用的操作符命令例如以下:

​c​​: 改动

​d​​: 删除

​y​​: 拷贝到寄存器

​g~​​: 反转大写和小写

​gu​​: 转换为小写

​gU​​: 转换为大写

​>​​: 添加缩进

​<​​: 减小缩进

​=​​: 自己主动缩进

​!​​: 使用外部程序过滤{motion}所跨越的行