1. 光标移动
1.1 基本移动(normal 模式下)
- h: 左移一个字符;
- l: 右移一个字符;
- j: 下移一行;
- k: 上移一行;
- w:移动到下一个单词第一个字符;
- W: 移动下一个长单词第一个字符,但忽略一些标点;
- e: 移动到下一个单词最后一个字符;
- E: 移动到下一个长单词最后一个字符,如果词尾有标点,则移动到标点;
- b:前一个单词第一个字符;
- B:前一个长单词第一个字符,忽略一些标点;
- ge: 前一个单词最后一个字符;
- gE:同 ge ,不过‘单词’包含单词相邻的标点。
- (: 前移1句。
- ):后移1句。
- { : 前移1段。
- } : 后移1段。
- fc:把光标移到同一行的下一个c字符处
- Fc: 把光标移到同一行的上一个c字符处
- tc: 把光标移到同一行的下一个c字符前
- Tc:把光标移到同一行的上一个c字符后
注:上面的操作都可以配合数字使用,比如在正常模式下输入3h, 则光标向左移动3个字符。
- 0: 移动到行首。
- ^: 移动到本行第一个非空白字符。
- $: 移动到行尾。
- nG: 到文件第n行。
- H: 把光标移到屏幕最顶端一行。
- M: 把光标移到屏幕中间一行。
- L: 把光标移到屏幕最底端一行。
- gg: 到文件头部。
- G: 到文件尾部。
2. 翻屏
- ctrl+f: 下翻一屏。
- ctrl+b: 上翻一屏。
- ctrl+d: 下翻半屏。
- ctrl+u: 上翻半屏。
- ctrl+e: 向下滚动一行。
- ctrl+y: 向上滚动一行。
- n%: 到文件n%的位置。
- zz: 将当前行移动到屏幕中央。
- zt: 将当前行移动到屏幕顶端。
- zb: 将当前行移动到屏幕底端。
3. 插入文本
3.1 基本插入
- i: 在光标前插入(一个小技巧:按8,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现8个=)
- I: 在当前行第一个非空字符前插入;
- a: 在光标后插入;
- A: 在当前行最后插入;
- o: 在下面新建一行插入;
- O: 在上面新建一行插入;
3.2 改写插入
- c[n]w: 改写光标后1(n)个词。
- c[n]l: 改写光标后n个字母。
- c[n]h: 改写光标前n个字母。
- [n]cc: 修改当前[n]行。
- [n]s: 以输入的文本替代光标之后1(n)个字符,相当于c[n]l。
- [n]S: 删除指定数目的行,并以所输入文本代替之。
4. 剪切和复制、粘贴
- [n]x: 剪切光标右边n个字符,相当于d[n]l。
- [n]X: 剪切光标左边n个字符,相当于d[n]h。
- y: 复制在可视模式下选中的文本。
- yy or Y: 复制整行文本。
- y[n]w: 复制一(n)个词。
- y[n]l: 复制光标右边1(n)个字符。
- y[n]h: 复制光标左边1(n)个字符。
y$
: 从光标当前位置复制到行尾。- y0: 从光标当前位置复制到行首。
- ygg: 复制光标以上的所有行。
- yG: 复制光标以下的所有行。
- yaw和yas:复制一个词和复制一个句子,即使光标不在词首和句首也没关系。
- d: 删除(剪切)在可视模式下选中的文本。
- D: 删除(剪切)当前位置到行尾的内容。
- d[n]w: 删除(剪切)1(n)个单词
- d[n]h: 删除(剪切)光标左边1(n)个字符。
- d0: 删除(剪切)当前位置到行首的内容
- [n] dd: 删除(剪切)1(n)行。
- dgg: 剪切光标以上的所有行。
- dG: 剪切光标以下的所有行。
- daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。
- p: 在光标之后粘贴。
- P: 在光标之前粘贴。
6.文本对象
- aw:一个词
- as:一句。
- ap:一段。
- ab:一块(包含在圆括号中的)
注: y, d, c, v都可以跟文本对象