Vim 编辑器中命令模式-光标移动

2016-08-31 0 By admin

Vim 编辑器中命令模式下光标移动分为字符移动、单词移动、整行移动、在屏幕中移动、在当前行移动、根据文本块移动 和 根据行号来移动。

一、字符移动

在 Vim 编辑器中可以使用方向键移动光标,更方便的可以使用h j k l 来移动光标。

  1. h (小写):光标左移一个字符,相当于左方向键
  2. l (小写):光标右移一个字符,相当于右方向键
  3. k (小写):光标垂直上移一行,相当于上方向键
  4. j (小写):光标垂直下移一行,相当于下方向键

在命令前加上数字代表命令执行次数,如:5k,表示上移5行。

二、单词移动

  1. W w 移动到下一个单词开头
  2. E e 移动到下一个单词结尾
  3. B b 倒退到上一个单词开头

需要注意的是,E会忽略标点符号,如: I‘m, ;e会当成两个单词,E则不会。
同样,在命令前加上数字代表执行次数,如:2w,表示往下移动2个单词。

三、整行移动

  1. 0 移动到行首
  2. $ 移动到行末
  3. + 移动到下一行开头
  4. – 移动到上一行开头

这里需要注意的是+ -和上面的j k有什么不同之处。

四、用 z 调整光标

  1. z 将光标所在行移动到屏幕顶端
  2. z. 将光标所在行移动到屏幕中间
  3. z- 将光标所在行移动到屏幕低端

示例:980z可以将第980行移动到屏幕顶端。

五、在屏幕中移动

  1. H 移动到屏幕顶端的行
  2. M 移动到屏幕中央的行
  3. L 移动到屏幕底端的行
  4. nH 移动到屏幕顶端往下的第n行
  5. nL 移动到屏幕顶端往上的第n行

这三个字母应该是HIgh、Middle和Low的缩写,这样理解就很容易记住了。

六、在当前行移动

  1. ^  移动到当前行的第一个非空格处
  2. n|  移动到当前行的第n列

这里的 ^ 与上面的0通常情况下表示的位置是一样的。

七、根据文本块移动

所谓的文本块也就是句子、段落、小节等。

  1. ( (左小括号)  移动到上一个句子首
  2. ) (右小括号)  移动到下一个句子首
  3. { (左大括号)  移动到上一个段落首
  4. } (右大括号)  移动到下一个段落首
  5. [[   移动到当前这一节的开头
  6. ]]   移动到下一节的开头

其中,Vim 以? . !等符号来标记一个句子,空白行来标记一个段落。

八、根据行号来移动

  1. Ctrl+g   显示当前行信息
  2. nG   转至第n行
  3. G   转至文本末尾
  4. gg   移至文本开头

如果你不知道当前是多少行的话就可以用Ctrl+g来查看。
如果想转到第800行,可以用800G。
其实z命令也可以做到,并且把光标移动到第一行。
tips:“反引号可以返回到使用G之前的位置。

8.1、编辑模式下移动

:n 指定移动到第n行。

九、其他

  1. %   光标跳转到匹配到括号处,支持{}()
  2. [[   光标跳转到代码块开头即{处,要求{独占一行
  3. gD   光标跳转到局部变量定义处
  4. ” (两个单引号)光标跳转到上次停靠处