游标移动
| 按键 |
说明 |
| h |
左 |
| l |
右(小写 L) |
| j |
下 |
| k |
上 |
| w |
移动到下一个单词 |
| b |
移动到上一个单词 |
进入插入模式
| 命令 |
说明 |
| i |
在当前光标处进行编辑 |
| I |
在行首插入 |
| A |
在行末插入 |
| a |
在光标后插入编辑 |
| o |
在当前行后插入一个新行 |
| O |
在当前行前插入一个新行 |
| cw |
替换从光标所在位置后到一个单词结尾的字符 |
退出vim
| 按键 |
说明 |
| h |
左 |
| l |
右(小写 L) |
| j |
下 |
| k |
上 |
| w |
移动到下一个单词 |
| b |
移动到上一个单词 |
删除文本
| 命令 |
说明 |
| x |
删除游标所在的字符 |
| X |
删除游标所在前一个字符 |
| Delete |
同 x |
| dd |
删除整行 |
| dw |
删除一个单词(不适用中文) |
| d$或D |
删除至行尾 |
| d^ |
删除至行首 |
| dG |
删除到文档结尾处 |
| d1G |
删至文档首部 |
游标的快速跳转
行间跳转
| 命令 |
说明 |
| nG(n Shift+g) / ngg |
游标移动到第 n 行 (如果默认没有显示行号,请先进入命令模式,输入 :set nu 以显示行号) |
| gg |
游标移动到到第一行 |
| G(Shift+g) |
到最后一行 |
行内跳转
普通模式下使用下列命令在行内按照单词为单位进行跳转:
| 命令 |
说明 |
| w |
到下一个单词的开头 |
| e |
到当前单词的结尾 |
| b |
到前一个单词的开头 |
| ge |
到前一个单词的结尾 |
| 0或^ |
到行头 |
| $ |
到行尾 |
| f<字母> |
向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
| F<字母> |
向前搜索<字母>并跳转到第一个匹配的位置 |
| t<字母> |
向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
| T<字母> |
向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
复制及粘贴文本
- 普通模式中使用 y 复制
- 普通模式中,yy 复制游标所在的整行(3yy 表示复制 3 行)
- 普通模式中,y^ 复制至行首,或 y0。不含光标所在处字符。
- 普通模式中,y$ 复制至行尾。含光标所在处字符。
- 普通模式中,yw 复制一个单词。
- 普通模式中,y2w 复制两个单词。
- 普通模式中,yG 复制至文本末。
- 普通模式中,y1G 复制至文本开头。
- 普通模式中使用 p 粘贴
- 普通模式中,p(小写)代表粘贴至光标后(下)
- 普通模式中,P(大写)代表粘贴至光标前(上)
替换和撤销(Undo)命令
替换和 Undo 命令都是针对普通模式下的操作:
| 命令 |
说明 |
| r+<待替换字母> |
将游标所在字母替换为指定字母 |
| R |
连续替换,直到按下 Esc |
| cc |
替换整行,即删除游标所在行,并进入插入模式 |
| cw |
替换一个单词,即删除一个单词,并进入插入模式 |
| C(大写) |
替换游标以后至行末 |
| ~ |
反转游标所在字母大小写 |
| {n}u |
撤销一次或 n 次操作 |
| U(大写) |
撤销当前行的所有修改 |
| Ctrl+r |
redo,即撤销 undo 的操作 |