1.为什么要用YouCompeleteMe?
其实我很久之前就听说过YouCompeleteMe这个插件的了。但是什么都是新手的我看了好多教程都安装不了这个插件,所以一直都没有安装。平时写的C语言,C++程序都不会很长,所以一开始都不会很在意没有代码补全。后来写C++要封装的话,经常打错的话,编译一大堆错误,几乎都是打错的。可是又离不开vim,因为打开速度快,而且不需要用到鼠标,退出之后又回到终端继续编译调试。今天花费半天时间终于安装好YCM。
2.前提准备
https://github.com/Valloric/YouCompleteMe这是YCM的github地址,里面有一句话Make sure you have Vim 7.3.598 with python2 or python3 support. 因为我使用Debian8.5,所以vim版本这些要求都满足了。网上有教程是教如何自己编译vim,但是我没有尝试,所以也就不说如何做了。
3.开始安装
因为需要C家族语言的补全,所以需要libclang3.2以上的版本,可以到http://llvm.org/releases/download.html#3.3找到最新的LLVM和Clang,下载源代码,分别下载。然后先把llvm解压到~/ycm_temp。
编译
你会下载到llvm-3.x.src.tar.gz,然后在home目录下创建ycm_temp目录,解压llvm进去
mkdir ~/ycm_temp
cd ~/ycm_temp
tar -zxvf llvm-3.3.src.tar.gz -C llvm.src
然后解压clang到llvm.src/tools下
tar -zxvf cfe-3.3.src.tar.gz -C ~/ycm_temp/llvm.src/tools/
mv ~/ycm_temp/llvm.src/tools/cfe-3.3/src ~/ycm_temp/llvm/tools/clang
编译llvm时会自动编译clang
cd ~/ycm_temp
mkdir llvm_build
cd llvm_build
cd ~/.vim/bundle/YouCompleteMe/ && ./install --clang-completer
make
然后就安装YouCompeleteMe
在.vimrc里面添加
Plugin 'Valloric/YouCompeleteMe'
然后保存之后,在vim输入
:PluginInstall
需要等待很久,因为YCM很大
编译ycm_core
mkdir ~/ycm_build
cd ~/ycm_build
cmake -G "Unix Makefiles" ~/.vim/bundle/YouCompleteMe/cpp -DEXTERNAL_LIBCLANG_PATH=~/ycm_temp/llvm.src/lib/libclang.so
make ycm_core
然后又是漫长的等待
然后就可以使用了,还有一些.vimrc里面的配置参考use_vim_as_ide这个github主页.
本文参考网站文章https://www.linuxzen.com/vim-dai-ma-bu-quan-he-jian-cha-youcompleteme-syntastic.html
多谢这位博客详细的指导.