vim中光标移动命令大全,介绍了光标的基本移动命令,翻屏时光标移动命令,如何使用标记快速移动的一系列vim操作命令。
4.1、基本移动
以下移动都是在normal模式下。
h
或退格: 左移一个字符;l
或空格: 右移一个字符;j
: 下移一行;k
: 上移一行;gj
: 移动到一段内的下一行;gk
: 移动到一段内的上一行;enter
: 把光标移至下一行第一个非空白字符。-
: 把光标移至上一行第一个非空白字符。w
: 前移一个单词,光标停在下一个单词开头;w
: 移动下一个单词开头,但忽略一些标点;e
: 前移一个单词,光标停在下一个单词末尾;e
: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b
: 后移一个单词,光标停在上一个单词开头;b
: 移动到上一个单词开头,忽略一些标点;ge
: 后移一个单词,光标停在上一个单词末尾;ge
: 同ge
,不过‘单词’包含单词相邻的标点。(
: 前移1句。)
: 后移1句。{
: 前移1段。}
: 后移1段。fc
: 把光标移到同一行的下一个c字符处fc
: 把光标移到同一行的上一个c字符处tc
: 把光标移到同一行的下一个c字符前tc
: 把光标移到同一行的上一个c字符后;
: 配合f & t使用,重复一次,
: 配合f & t
使用,反向重复一次
上面的操作都可以配合n使用,比如在正常模式(下面会讲到)下输入3h
, 则光标向左移动3个字符。
0
: 移动到行首。g0
: 移到光标所在屏幕行行首。^
: 移动到本行第一个非空白字符。g^
: 同^
,但是移动到当前屏幕行第一个非空字符处。$
:移动到行尾。g$
: 移动光标所在屏幕行行尾。n|
: 把光标移到递n列上。ng
: 到文件第n行。:n
移动到第n行。:$
移动到最后一行。h
: 把光标移到屏幕最顶端一行。m
: 把光标移到屏幕中间一行。l
: 把光标移到屏幕最底端一行。gg
: 到文件头部。g
: 到文件尾部。
4.2 翻屏
ctrl f
: 下翻一屏。ctrl b
: 上翻一屏。ctrl d
: 下翻半屏。ctrl u
: 上翻半屏。ctrl e
: 向下滚动一行。ctrl y
: 向上滚动一行。n%
: 到文件n%的位置。zz
: 将当前行移动到屏幕中央。zt
: 将当前行移动到屏幕顶端。zb
: 将当前行移动到屏幕底端。
4.3 标记
使用标记可以快速移动。到达标记后,可以用ctrl o
返回原来的位置。 ctrl o
和ctrl i
很像浏览器上的 后退 和 前进 。
m{a-z}
: 标记光标所在位置,局部标记,只用于当前文件。m{a-z}
: 标记光标所在位置,全局标记。标记之后,退出vim, 重新启动,标记仍然有效。`{a-z}
: 移动到标记位置。‘{a-z}
: 移动到标记行的行首。`{0-9}
:回到上[2-10]次关闭vim时最后离开的位置。“
: 移动到上次编辑的位置。”
也可以,不过“
精确到列,而”
精确到行 。如果想跳转到更老的位置,可以按c-o
,跳转到更新的位置用c-i
。`”
: 移动到上次离开的地方。`.
: 移动到最后改动的地方。:marks
显示所有标记。:delmarks a b
– 删除标记a和b。:delmarks a-c
– 删除标记a、b和c。:delmarks a c-f
– 删除标记a、c、d、e、f。:delmarks!
– 删除当前缓冲区的所有标记。:help mark-motions
查看更多关于mark的知识。