刚开始学习VIM的时候还是有很多困难的,毕竟只懂得基本的移动、复制/粘贴、删除并不能就将手从鼠标中解放出来。但总结一下,发现还是有一些需要特别注意的地方。

本文需要在懂得VIM的基本用法之后阅读。

 

1. ctrl + v

  在这种模式下, 可以选定一块内容进行删除、复制等操作。 在这种模式下,就不需要鼠标的选定操作了。

 

2. ctrl + w

  这是一系列的操作快捷键用于多窗口、多文件的编辑。

  + n, 新建一个窗口

  + [hjkl], 窗口之间的移动

  + s, 新开一个窗口

  + o, 隐藏其他的窗口

 

  Note: 尝试一下”:sp" 命令。

 

  这一系列命令就解决打开多文件的问题,不必再通过终端重新开启一个新的VIM对话。

 

3. *, #, K

  这三个绝对是非常有用的功能键。

  * 搜索鼠标所在位置上的词, 顺序查找

  # 同上, 逆序查找

  K manual键, 等同于"man word”,其中word是鼠标所在位置上的词。

 

  这三个键将大大提高检索速度。

 

4. number + [hjkl]

  number 是移动的个数, 如3 + j, 则是下移三行。

 

  有没有过一直点击h或l的经历? 试试在前面加个number.

  事实上,number可以更好的帮我们定位,尤其是在行的定位上面。 如果只是通过ctrl+b, ctrl+f 之类的翻页, 但还是有几十行的度量;h和l也可以通过“f"或"F"来操作, 但当一个句子里有很多重复的字母的时候。  

  number+[hjkl]单独用并不会感觉怎么样。但结合翻页快捷键可以很好很快速的定位行,然后大致估算当前位置到预定位置的字母个数,结合w(e), b, "f"或"F"就可以很好的定位某一行中的字符。

 

5. [dy] + location

  d+location, 删除当前位置到location的所以内容。 这里的location是紧跟在“d"后面的命令所产生的鼠标移动的目的地。比如d3w,则会删除从当前位置开始后的3个word。

  想想看, 如果你只想删除当前位置到下一个出现“f”的地方中间所有的字母的时候, 这个有多么有用了;或者是当前位置到下一行前N个word中间的字符。 

  复制操作同上。

 

6. ctrl + r and u

  开始不知道ctrl+r, 让我恼火了很久。用过"u”之后试试看!