VIM使用YCM注意事项

原创
2016/04/10 18:13
阅读数 6.3K

本文假设你已经安装好了YCM并且实际使用了,在实际使用中遇到的一两个问题的讨论。

YCM与Normal模式

大家知道在Vim中从insert到normal有三种方式: Esc , Ctrl+c,Ctrl+[ 由于普通键盘的Esc键位摆放问题用着并不顺手,这时候大家可能会选择后两种方式,但是其中Ctrl+c是与YCM相冲突的,如果你使用Ctrl+c回到Normal模式,在写一个相对大规模点的程序的时候可能会突然发现Ctrl+c会弹出一大串错误,非常影响体验,由于YCM是一个c-s类型的插件,后台有个server程序ycmd 如果在ycm进行补全的时候突然需要消耗一段时间在这期间按下了ctrl+c那么会中断ycm的补全过程,从而导致弹出一堆错误信息。 所以使用YCM插件的normal模式建议使用最后一个ctrl+[吧,习惯下就好。

YCM的弹出菜单颜色问题

安装好YCM后有些Vimer使用自己定义的或者别人定义的colorscheme,在补全期间可能会遇到颜色冲突/颜色不明显的现象,遇到这种情况就需要手动修改这个颜色了(默认的对我来说非常不明显),其实这个弹出菜单颜色并不是YCM定义而是一个标准的菜单区域颜色,颜色属性在是Pmenu

打开vim,执行:hi 可以看到默认的Pmenu信息 :Pmenu xxx ctermfg=0 ctermbg=13 guibg=Magenta

默认的显示效果

hi是highlight的缩写,一般在colorscheme中定义了各种颜色属性,例如你打开 /etc/share/vim74(或vim73)/colors/ 下面的配色方案可以看到各种定义细节

显示修改下默认的补齐菜单颜色,终端环境我们修改xtermbg,xtermfg 即可,gui环境修改guifg,guibg

可以参考这里的颜色表https://upload.wikimedia.org/wikipedia/en/thumb/1/15/Xterm_256color_chart.svg/960px-Xterm_256color_chart.svg.png

执行 :hi Pmenu ctermfg=56 ctermbg=255 显示效果如下

输入图片说明

可以将指令放入vimrc中,也可以放到自己的colorscheme中来使用自己喜欢的搭配.

YCM的timeout设置

有时候会YCM会提示timeout从而不会自动提示(默认值为0.5s),可能由于本本性能问题或者其他有时我们想修改这个值。 (找到你的YCM目录,我用的Bundle安装如下路径)

对应的文件为 ~/.vim/bundle/YouCompleteMe/completion_request.py

找到一句 timeout=0.5 处,修改此即可。

然后在你的vim中执行YcmRestartServer即可使用新配置。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
9 收藏
1
分享
返回顶部
顶部