YouCompleteMe是一个功能极强的自动补全插件,安装这个插件折磨了我好久,找了很多博客查看都无果,最后还是感谢stack overflow。和其它的一些插件相比,YCM能够基于语法来给出相应的补全政策,而不是简单的通过文件的格式。运行效果的截图:
我把安装的过程分为几下几步:
1. 找一个比较好用的基础的vim配置,或者原来你电脑上就有的配置也行。我使用的是https://github.com/ma6174/vim,提供一键安装的办法进行安装。运行wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x即可。
2.检查自身环境是否符合要求:
-
- 首先是检查vim ,版本必须大于Vim 7.4.143,版本限制可能会更改,具体请查看git,检查版本信息通过vim --version。
- 由于YCM上层封装使用的是python,所以还需要检查版本信息。python2或者python3都支持。同样的通过python --version查看。
- 安装vundle,具体的安装过程见git,相当简单。
- 安装Cmake,sudo apt-get install build-essential cmake。
- 安装python, sudo apt-get install python-dev python3-dev。
- 完成上述步骤就可以开始检测clang,clang --version。现在YCM的版本需要Clang3.9的支持,如果系统版本小于3.9则可以通过apt进行更新,更新完成之后在/usr/bin下进行clang文件替换,替换成最新版本。
- 接下来开始进行YouCompleteMe的安装:
- 克隆git仓库: 在.vim/bundle/目录下进行克隆,命令如下:git clone https://github.com/Valloric/YouCompleteMe.git 完成之后会在此目录下生成YouCompleteMe文件
- 进行安装: 在cd ~/.vim/bundle/YouCompleteMe目录下执行./install.py --clang-completer --system-libclang 使用本地libclang库进行安装,这个过程中如果系统clang库为更新可能出错。
- 安装过程中会进行编译,时间估计比较长。
- 最后一步,其实当初自己安装的时候开始的这几步都不怎么迷糊,但是这一步总是出错。最后是添加YouCompleteMe自动提示的数据源,我们需要在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm这个目录下找到.ycm_extra_conf.py文件,并编辑这个文件在flags部分添加如下内容:
'-isystem',
'/usr/include/',
'-isystem',
'/usr/include/c++/',
'-isystem',
'/usr/include/x86_64-linux-gnu/c++',
'-isystem',
'/usr/local/include/', 这个具体根据自己的文件来决定,现在所有的配置都已经完成了,enjoy it!!!