刚开始学习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”之后试试看!