您的位置:首页 > 其它

VIM使用YCM注意事项

2016-04-10 18:13 323 查看
本文假设你已经安装好了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
即可使用新配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: