在Vim编辑中我们经常需要移动光标的位置,而拥有将光标快速移动到目标位置的能力将大大加快撸码速度。本文将传授乾坤大挪移之法,领教吧!

“反人类”的方向键

      上下左右,我们一定会第一时间想到键盘上的方向键,虽然Vim上也可以使用方向键操作方向(Normal模式下移动),但实际上Vim中的方向键为h(←)j(↓)k(↑)l(→)。 接触的第一时间感觉这太“反人类”了,据说是因为Vim开发时方向键不流行的缘故。如果我们使用hjkl时会发现编码过程中我们的手一直都没有离开过主键盘区,而不需要移动到方向键部分操作,大概这才是hjkl被设置的缘由吧~

乾坤大挪移

单词之间移动

      w/W移动到下一个word/WORD开头。
      W

  • word:以非空白符分割的单词
  • WORD:以空白符分割的单词

      以this.name = name为例,使用w分别跳至:.,n,=,n。如果使用W则为:= ,n。我认为不要纠结这个,不是重点。

      e/E移动到下一个word/WORD结尾。
      e

      b/B移动到上一个word/WORD开头。

      w/W移动到下一个word/WORD开头。
b

行间搜索移动

      有时候我们需要在同一行快速跳到某一个字符上,行间搜索移动即搜索同一行的某一个字符并且快速跳到该字符。使用f{char}即可实现此功能(从行首开始搜索)。注意,此命令只能跳到第一次出现该字符的位置,我们可以使用;继续跳转至下一个该字符,使用,跳转回上一个字符。
f

      也许我们现在在行尾,我们使用F{char}实现从行尾向前搜索功能。

水平移动

      水平移动即快速的移动至行首或行尾。
      我们使用0移动到行首的第一个字符,^移动到第一个非空白字符。
06

      我们使用$移动到行尾,g_移动到行尾非空白字符。
g

垂直移动

      我们还可以在句子和段落间移动。
      使用()在句子间移动。(向前一句移动,)向后一句移动。Vim认为一个句子是以'.','!','?'结尾的句子。我们可以使用命令:help (查看帮助文档。
()

      使用{}在段落间移动。{向前一段移动,)向后一段移动。
{}

页面移动

      使用gg/G移动到文件的开头/结尾,并且使用ctrl+o快速返回上次位置。
gg/G

      使用H/M/L光标快速跳转到屏幕(不是文件哦~)的开头(Head)/中间(Middle)/结尾(Lower)。
HML

      使用Ctrl+u/f进行上下翻页,使用zz将当前位置置为屏幕中间。
ctrl+uf/zz

Last modification:May 22nd, 2019 at 07:42 pm
如果觉得我的文章对你有用,请随意赞赏