vim使用中的几个问题
使用VIM做主编辑器有一段时间了,快捷键和命令用的越来越熟练。本文将使用过程中遇到的问题、解决方案和一些好用的技巧汇总如下,并不定时更新。
###查找之后高亮显示的词怎么取消高亮?
说明:通常我们会用:/bla[Enter]
查询文中出现的bla,并以高亮显示。可以通过n
和N
查找下一个和上一个。查找完之后,高亮显示并不会消失,这样会影响阅读其他的代码或文字。
解决:使用:noh
命令。
###插入模式下怎么进行光标移动?
说明:当然,可以使用方向键进行移动。但Vimer通常不会这么干。难道每次都要Esc
回到普通模式再移动吗?
解决:根据前辈们的说法,Vimer要有一个意识,就是默认保持普通模式。除此之外,一切都是命令。比如插入文字的命令为iblabla
,执行「命令」的命令为:bla
。所以,要想移动光标,乖乖回到普通模式吧。
但是我们都知道Esc
的键程太远,老这么按很费劲。于是大家就进行快捷键的映射。我找到的最好的解决方案是用jj
替代Esc
。
在.vimrc
中加入这一样:
imap jj <Esc>
有人会说,那我要输入「jj」肿么办呢?这种情况是很少的,编程的实践证明几乎不会用到这个组合词。如果万一用到,那么输入一个j,稍等一秒再输入另外一个即可。
当然,你也可以映射到Caps Lock
,悉听尊便。
###怎样在Windows右键菜单中加入「用Vim编辑」?
Windows下安装gvim会默认在右键菜单中添加这一项。我前两天清理无用的注册表,这一项不幸被360吃掉了。乖乖修改注册表吧~
按下
Win + r
,输入regedit
打开注册表。找到
HKEY_CLASSES_ROOT\*\Shell
。用鼠标右键添加项,名字叫「用Vim编辑」,再在这个文件夹上点击右键添加项,起名叫做「command」。
编辑项的值为
"E:\\Program Files\\Vim\\vim74\\gvim.exe" -p "%1"
,具体路径根据自己电脑情况而定。
用类似的方式,还可以添加「用vim新标签编辑」。只需要修改相应的名字,并将项目的值写为"E:\\Program Files\\Vim\\vim74\\gvim.exe" -p --remote-tab-silent "%1"
即可。
###tips
反向的操作常常用
Shift
。比如删除前一个字符用x
,那么删除后一个字符用Shift + x
,也就是X
。数字的运用。数字是规定操作重复次数的,有时候非常有用。比如
10dd
是删除10行。.
重复上一个操作。block级别的光标移动。比如移动到函数的开头用
[[
,结尾用]]
。批量缩进。普通模式下
v
进入选择模式,通过移动光标选择几行,然后<
和>
可以分别对这几行进行向左缩进和向右缩进。=
可以自动缩进。非常好用。自动补全。
Ctrl + n
。buffer常用操作。
:ls
列出buffer里面的所有文件。:bn
打开buffer里面编号为n的文件。