照着教程重新编译了Vim,并安装了YouCompleteMe插件。
然后我随便编辑一个cpp文件的时候出问题了。
在自动补全方面,它只能补全我以前输入过的单词。
也就是说,只有在我先前输入过include的前提下,下次我输入include的时候它才能自动补全。
而像这种:
vector
S;
S.
当我输入“.”的时候,根本不会列出任何成员函数。
是因为我安装的方式不正确吗?
---------------------------------------------
我是这样安装的:
在安装好Vundle之后,在vimrc中添加:
Bundle 'Valloric/YouCompleteMe'
然后启动vim就,执行“:BundleInstall”
进过一段时间之后,安装完毕,退出vim。进入
~/.vim/bundle/YouCompleteMe
执行:
./install.sh --clang-complete
---------------------------------------------
以上是我的安装步骤,平台是Ubuntu 12.04(准确地说是Mint)。我有确认过我的Vim的版本。安装的过程中没见到错误提示。
我的GCC的版本是4.8
Vim这么多插件,有没有一款好一点的代码补全插件,能够像codeblocks那样,我不要求它支持多少语言,只要C或者C++就好了。
我用vim的时间不短了,大概也有两年了吧,我都没怎么用过vim插件。因为那些我用得着的插件配置起来往往有点麻烦,而且用起来也有有各种各样的瑕疵,所以我才没有去用插件。
我之前用过c.vim这款插件,没用多久我就把它删除了,因为这款插件提供的模板与我的编程风格相差太远了,一个又一个地去改他们的模板又有点麻烦。
没什么好办法吧 以前用过neocomplete(貌似是叫这个?) 也不好用 vim的补全确实是个问题 希望楼下能给个好的解法!
YouCompleteMe 在 Vim 启动的时候如果无法载入 clang 是会提示错误的。
没有错误提示哦!
youcompleteme 補全C家族的語言需要在項目目錄裡建一個配置文件的 寫入你編譯項目用到的編譯參數 具體我也不清楚 我不寫C 你去github項目頁面看吧 有個C++的範例的
我用python也是同样的问题。。
我觉得目前YouCompleteMe是最好用的带语义补全的插件了。vim --version看看里面rubyinterp/pythoninterp之类的功能有没有?
你补全不成功的时候用:messages看看报什么错?确保你的代码在没有敲S.的之前是可以编译通过的。
别折腾了,迟早转xcode/vs吧,vim是编辑器,就别硬当ide使了
你指定了ycm_extra_conf.py了没有
let g:ycm_global_ycm_extra_conf='directory/to/ycm_extra_conf.py'
可以参照ycm自带的或者这个-> https://gist.github.com/locojay/4950253
表示赞同...
vim 还是适合写前端, 一个 zen-coding 搞定一切.
写 C 神马的什么都要用插件太麻烦了, 不同环境还要重新配置.
有两种可能性:
1. libclang 版本太旧, 最好卸载系统自带的libclang, 然后编译youcompleteme, 它会自动下载一个最新版。
2. 没有设置好ycm_extra_conf.py, 关键是include路径要正确。 打开c++文件的时候, ycm会提示你将加载这个文件, 如果没有提示, 说明没有找到, 或者ycm编译不正确。 加载成功的话, 可以在vim中运行:YcmDiags看一下报什么错, 如果YcmDiags很快返回而且没报错, 可能是ycm_extra_conf.py中有错误, 可能是python的语法错误。
对C/C++来说youcompleteme现在应该是最好选择, 借助libclang的强大功能, 补全效率和准确性极高。 不管你的C++代码用什么怪异的写法, 只要能编译通过, 都能补全, 即使是C++11的lambda和auto都没有障碍, 比codeblock这些根据tag index的补全强大多了。
这个我还真没有。
在vimrc文件中加入
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
嘿嘿!
就OK了!
python 如何解决?谢啦~~
照着我的说法做啊。。Python还是可以正常补全的!
我自己的一篇介绍YouCompleteMe的Blog
http://yunfeizu.github.io/blog/2013/05/16/killer-plugin-of-vim-youcompleteme/
不行啊,我要的是新建一个.py文件进去之后第一次输入import就能补全。 照着做之后还是不行,难道是我自己的配置问题?
mac 下面, python 可以补全, C++的不行,不知道怎么回事啊
我这边配置了`let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' `
也不可以给 C++,和 Python 补全啊,还有可能是什么原因吗?