在terminal下使用vim有个很恶心的问题就是输入的切换,在insert中输入了几个汉字Esc后如果没有shift就会打出汉字。这种情况出现多了就会让心情无比烦躁。今天尝试了一下vimim这东西利用vim本身的补全功能确实比直接用系统的输入法要方便很多。
下载一个vimim.vim再上它的主页找一个你喜欢的词库扔到.vim/plugin/下面就ok了。输入一个一串拼音:nihao<C-6>就能弹出自动补全的菜单,空格选取就可以了。或者<C-/>以后在输入就和用搜狗的方式一样了。也许是mac下的terminal不支持<C-num>的原因,默认的<C-6>在我这里是<C-^>不过实在太难按了,我就把它更改为<C-l>了(请修改vimim.vim的第5747行),一开始我定义的是<C-i>不过这个快捷键本身就是terminal中的<tab>所以有冲突,没办法只能你给用<C-l>了。不过在使用中还发现一个问题,当前版本的vimim默认开启了static模式,只要我用过一次<C-6>以后,再输入任何东西空格后都会弹出候选词的列表了。这个确实够讨厌的,对于编程开发很难受。所以我把它这个规则也改了一下注释掉<space>后开启static模式(第848~851行)。这会就清爽多了。最后还有个问题是我因为我用了neocomplcache插件,它本身就是自动弹出提示的,比如关键字补全,上下文补全什么的。如果你输入了一个nihao,而这时弹出了neocomplcache的上下文补全,你在<C-6>就杯具了,整个候选词列表都会被直接写到你的文件里,所以这时候要先<C-y>把neocomplcache的自动补全框关闭了以后在<C-6>就没事了。总体上vimim相当好用,强烈推荐。