移动光标
- h:光标向左移动
- j:光标向下移动
- k:光标向上移动
- l:光标向右移动
快速移动光标
- w:光标往前移动一个词
- b:光标向后移动一个词
- 0:移动光标到当前行首
- ^:移动光标到当前行的第一个字母位置(注意与 0 的区别)
- $:移动光标到行尾
快速定位
- 3gg : 光标移动到第 3 行
- gg: 光标移动到文件首部
- G:移动到文件胃部
- H:移动到屏幕上面
- M:移动到屏幕中间
- L:移动到屏幕下面
屏幕滚动
- Ctrl + b:向上移动一屏(Backward首字母小写)
- Ctrl + f:向下移动一屏(Foward首字母小写)
- Ctrl + d:向下滚动半屏内容(Down首字母小写)
- Ctrl + u:向上滚动半屏内容(Up首字母小写)
剪切、复制、粘贴
- d[n]w:剪切后面 n 个单词的内容,dw 是剪切当前单词 (delete n word)
- [n]dd:剪切n行的内容, dd 为剪切当前行
- D:剪切光标后到行尾的内容
- yy/Y:复制当前行的内容
- nyy:复制n行的内容
- p:粘贴到光标后
- P:粘贴到光标前
撤回、查找、替换
- u: 撤回上次操作(效果跟 command + z 效果一样)
- /something: 在后面的文本中查找something。
- ?something: 在前面的文本中查找something。
- /pattern/+number: 将光标停在包含pattern的行后面第number行上。
- /pattern/-number: 将光标停在包含pattern的行前面第number行上。
- n: 向后查找下一个。
- N: 向前查找下一个。
- : s/old/new - 用new替换当前行第一个old。
- : s/old/new/g - 用new替换当前行所有的old。
- :n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
- :%s/old/new/g - 用new替换文件中所有的old。
- :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
- :%s/表示行尾。