2013-04-28 58 views
17

我刚刚通过vundle安装了VIM的YouCompleteMe。它可以工作,但它只显示当前文件中包含的文字。我想用它来开发C++程序,我如何将它配置为在/ usr/include中的C++头文件中显示autocompletion,例如?非常感谢。Vim YouCompleteMe配置

+2

您需要构建并安装clang以进行语义完成。您是否按照YCM自述文件中详述的安装过程进行操作? – romainl 2013-04-28 16:09:17

+0

是的,我按照指示,但我只得到本地自动完成。为了安装YCM作为vundle bundle,我执行了位于YCM目录下的安装脚本。有没有我错过的配置? – mastergap 2013-04-29 11:02:57

+8

您是否执行'./install.sh --clang-completer'或'。/ install.sh'? – romainl 2013-04-29 11:29:04

回答

0

虽然这里的建议可能在一开始就有效,但我不确定这是否正确。据YCM开发者,当你启动一个项目,你需要一个新.ycm_extra_conf.py文件

https://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64-super-quick-installation

YCM寻找一个.ycm_extra_conf.py文件中打开的文件的目录或者在层次结构中的任何目录之上(递归地);当找到该文件时,它将作为Python模块加载(只有一次!)。 YCM在该模块中调用FlagsForFile方法,该方法应提供编译当前文件所需的信息。您还可以提供全局.ycm_extra_conf.py文件的路径,该文件将用作后备。为了防止从没有写入的文件执行恶意代码,YCM将会根据.ycm_extra_conf.py询问您是否可以安全加载。这可以被禁用,你可以白/黑名单文件。请参阅选项部分了解更多详情。

虽然您可能只需要修改vanilla.ycm_extra_conf.py中的编译标志,但我觉得建议您为每个启动的项目创建一个新文件。

18

您需要导航到~/.vim/bundles/YouCompleteMe并使用--clang-completer运行安装脚本,因此请执行./install.sh --clang-completer。完成后,您应该支持C语言。

您可能还需要将let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'放入您的~/.vimrc

+8

对于新版本的ycm,它改为: 'let g:ycm_global_ycm_extra_conf =“.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py”' – 2015-02-18 23:53:31

+2

对我来说,它似乎完全被修改并且不直观这个配置。为什么我需要将此配置设置为深入插件文件夹中的隐藏文件?对我而言,这只是感觉错误。 – Arne 2015-04-01 12:51:41

6

我安装了病原体。我使用./install.sh --clang-complete尝试了上述说明。在此之后,它不起作用,我确实必须添加路径。但它不同于此处的另一个回复,即

let g:ycm_global_ycm_extra_conf = '.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' 

所以在路径中有一个额外的“third_party/ycmd”。

+0

非常感谢:) 解决了我的问题 – 2015-02-18 23:41:16