Vim YouCompleteMe配置

mas*_*gap 21 c++ vim autocomplete

我刚刚通过vundle为Vim安装了YouCompleteMe.它有效,但它只显示当前文件中包含的单词.我想用它来开发c ++程序,如何配置它来显示/ usr/include中的c ++头文件的自动完成?非常感谢.

Bat*_*oid 20

您需要导航~/.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.

  • 对于新版本的ycm,它改为:`let g:ycm_global_ycm_extra_conf =".vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"` (9认同)
  • 对我来说,定义这个配置似乎完全没有用,也不直观.为什么我需要将此配置设置为插件文件夹中的隐藏文件?对我来说这只是错了. (3认同)

dep*_*eph 7

我安装了病原体.我用./install.sh --clang-complete尝试了上面的说明.在此之后,它没有用,我确实不得不添加路径.但这与其他答复不同,即

let g:ycm_global_ycm_extra_conf = '.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
Run Code Online (Sandbox Code Playgroud)

所以路径中有一个额外的"third_party/ycmd".


小智 5

虽然这里的建议一开始可能会起作用,但我不确定这是正确的方法。根据 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 询问您一次是否可以安全加载。可以禁用此功能,并且您可以将文件列入白名单/黑名单。有关更多详细信息,请参阅选项部分。

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