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的知识。