1,按字符/行移动光标
除了空格键和方向键外,减号'-'(上)、enter键(下)、h(左)、j(下)、k(上)、l(右)也可当方向键移动光标。如果需要一次移动多个字符或者多行,可以在方向键前输入一个数字,如7h表示向左移动7个字符,3SPACE表示向右移动3个字符,2j表示向下移动2行。光标行移动时,光标移到下一行的相同位置,如果下一行字符不足,则停在行尾。
减号(-) :移到上一行行首;方向键在上移一行时,会移到上一行的相同列的位置。
加号(+) :移到下一行行首;方向键在下移一行时,会移到下一行的相同列的位置。
0 :移到行首。
^ :移到行首。
$ :移到行尾。
2,将光标移到某个特定字符
f/F 查找当前行特定字符出现的位置,f是查找特定字符下一次出现的位置,F是查找特定字符上一次出现的位置。如,输入fa,表示从光标位置开始向右查找第一次出现a的位置,找到则光标移到该位置,未找到则不移动。输入3fc,表示查找光标右边第3次出现字符c的位置。输入分号(;)可以重复上一次的查找命令。
3,按字移动光标
w/W 把光标移到下一个字的第一个字符。标点符号也看作一个字。如果下一个字在下一行,光标依次在下一行查找。w和W的区别在于W是按空格来区分字;如果标点与字连写了,W会把它当作一个字,而w仍把标点单独当作一个字来查找。当查找到文件的最后一个字时,如果再查找一次,光标移到最后一个字符。13w表示光标向右移动13个字。
b/B 把光标移到上一个字的第一个字符。标点符号也看作一个字。其它属性同上述的w/W。
e/E 把光标移到下一个字的尾字符。标点符号也看作一个字。其它属性同上述的w/W。
4,按句子和段落移动光标
'('和')' 分别表示将光标移到上/下一个句子的开头。
'{'和'}' 分别表示将光标移到上/下一个段落的开头。
5,要屏幕内移动光标
H(home) 将光标移到屏幕顶部行首。
M(middle) 将光标移到屏幕中部行首。
L(lower) 将光标移到屏幕底部行首。
6,浏览工作缓冲区的不同部分
vim当前编辑的文本信息是在工作缓冲区的,屏幕显示的就是缓冲区的信息。
ctrl + d(down) 将屏幕向下移动半个屏幕的信息;命令前加数字n,表示屏幕向下移动n行。
ctrl + u(up) 将屏幕向上移动半个屏幕的信息;命令前加数字n,表示屏幕向上移动n行。
ctrl + f(forward) 将屏幕向下移动一个屏幕的信息,为了保持连续性,会保留上个屏幕的后两行;命令前加数字n,表示屏幕向下移动n个屏幕的信息。
ctrl + b(backward) 将屏幕向上移动一个屏幕的信息,为了保持连续性,会保留上个屏幕的前两行;命令前加数字n,表示屏幕向上移动n个屏幕的信息。
gg 去到缓冲区文本行首。
shift + g或者G 去到缓冲区文本行尾。
ngg / nG 去到第n行,如5gg表示去到第5行。5G 也是去到第5行。