gg:将光标移动到文档开头
G:将光标移动到文档末尾
:N 可将光标跳转到第N行
> :$可以跳转到文档末尾
N| 把光标移动到当前行第N列上
Ngg 或 NG 将光标跳转到第N行
n% 将光标跳到文件n%的位置。
行内移动
0 将光标移动到行开头
$ 将光标移动到行末尾
^ 将光标移动到当前行第一个非空字符上
End键:将光标移动到行开头,相当于0
Home键:将光标移动到行末尾,相当于$
w: 光标前移到下一个单词开头,不忽略标点符号
W: 光标前移到下一个单词开头,忽略标点符号
e: 光标前移到下一个单词末尾,不忽略标点符号
E: 光标前移到下一个单词末尾,忽略标点符号
b: 光标后移到上一个单词开头,不忽略标点符号
B: 光标后移到上一个单词开头,忽略标点符号
文档内移动
H 把光标移到屏幕最顶端一行
M 把光标移到屏幕中间一行
L 把光标移到屏幕最底端一行
zt 将当前行移动到屏幕顶端
zz 将当前行移动到屏幕中央
zb 将当前行移动到屏幕底端
ctrl+f/b 向下/上翻一屏
ctrl+d/u 向下/上翻半屏
ctrl+e/y 向下/上滚动一行
标记
使用标记也可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进,只是回退前进的是位置 。
m{a-z} 标记光标所在位置,局部标记,只用于当前文件。
m{A-Z} 标记光标所在位置,全局标记。标记之后,在其他文件,在退出Vim重新启动后,标记仍然有效。
`{a-zA-Z} 移动到标记行的标记位置,精确到列
'{a-zA-Z} 移动到标记行的行首,精确到行
`{0-9}:回到上[2-10]次关闭vim时最后离开的位置。
`. 移动到最后改动的地方
:marks 显示所有标记
:delmarks a b e -- 删除标记a、b、e
:delmarks! -- 删除当前缓冲区的所有标记