在vim中快速移动光标

作者 | 2014年10月16日

vim是默认编辑器,各种格式的文本文件都是用它来编辑。加上插件各种丰富,用起来确实非常爽。之前一直用它来编程,现在用它来写tex文本或者说明文档,遇到了该如何高效的移动光标的问题。

应该尽量让vim处于命令模式,这样各种命令才能有效。处于编辑模式的vim,除了编辑之外不能做其他的。但是即使在命令模式,移动光标也是问题。在编程的时候,一行的字符不多,几乎不会遇到行内定位的问题。但是诸如tex文件,或者一些说明文档,一个段落就是一行,这个时候就考验如何有效移动光标了。确切的说是怎么在一个非常长的行内迅速定位。

移动方案如下:

  • h,j,k,l : j/k按行上下移动,h/l按字符左右移动。h/l左右移动距离大的时候就纠结了,一次只能移动一个字符,适用于近距离移动。
  • b,w : 按单词移动。按w向后移动一个单词,按b向前移动一个单词。相对于h/l,这个效率高很多。
  • (,) : 按句子移动光标。(移动到句子的最前,)移动到下一个句子。这种方式在多个句子移动时比b/w方式又高效很多。
  • ^,$ : 定位到行首和行尾。^定位到当前行首,$定位到当前行末。
  • fx,Fx : 按查找字符移动。fx向后移动到第一次出现x的位置,Fx则是向前。
  • , : 向上和向下滚屏。相对于之前的移动方案,这个比较霸气~
  • gg,G : 移动到文件开头和文件末尾,这个经常要用。
  • :n, nG : 跳转到文件第n行,这两个命令作用相同。
  • % : 跳转到匹配的括号。看看这个括号段从哪开始,到哪结束,这个真的很有用。

上述基本上就是命令模式下vim能用的移动方案了。vim好处是可以脱离鼠标,可是在一大段文字里不停的跳跃,还是会有蛋蛋的忧伤啊。看着一段那么长的话,按住键盘不停的移动,确实挺伤的。这个时候就想,要是能用鼠标定位可能就会爽很多了。确实是这样!如果跨度比较大,还是建议用鼠标定位!

vim支持鼠标定位光标,不过默认未启用。在命令模式下输入命令:

:set mouse=a

就可以啦!

建议将其写在.vimrc里,添加

set mouse=a

这一行。

键盘+鼠标,终于可以完美的解决了光标定位的问题了~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注