总结:
一开始一直以为是YCM的锅,唉,经常会怀疑错嫌疑人啊,跟侦探小说一样,得不断推理排除。
最后发现是编译vim 的参数的锅。然后网上一顿瞎操作,并没啥破作用。
正确步骤:
0. python 环境
首先假设你的python环境是正常的(2.7或/和3.5.1+)
高版本的vim 要3.5+,按实际需要配。
1.编译YCM
#
cd ~/.vim/bundle/
git clone https://github.com/ycm-core/YouCompleteMe.git
cd YouCompleteMe
python3 install.py --all
最后会出现
[ 98%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o
[100%] Linking CXX shared library /home/b/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so
[100%] Built target ycm_core
好了,这就成功编好了。
如果多了
ERROR: msbuild or xbuild is required to build Omnisharp.
这行错误也没关系,如果你不使用C#的话对你没影响,如果你用的话应该不会缺这库。
2.编译vim
注意了:
#在一个你喜欢的目录
git clone https://github.com/vim/vim.git
cd vim
#骚东西来了
./configure --with-features=huge --enable-multibyte --enable-rubyinterp=yes --enable-python3interp=yes --with-python3-config-dir=$(python3-config --configdir) --enable-perlinterp=yes --enable-luainterp=yes --enable-gui=gtk2 --enable-cscope --prefix=/usr/local
#不加-j8也可以,如果你不介意慢点的话
make -j8
sudo make install
#好了,事情就这样成了,快乐玩耍吧
vim fk
要注意的点:
./configure 这里加的参数很重要。点这,敢吗你
不然你打开vim时,会报诸如:
YouCompleteMe unavailable: unable to load Python.
youcompleteme unavailable: requires vim compiled with python (2.7 1 or 3.5 1 support)
等错误,然后你安装的YCM插件并不起作用。原因就一个,你编译vim时给它的参数不对或甚至就没指定,然后你编译好之后,vim运行是要去找python结果找不到,然后你就看到上面的关于python的问题了。
判断vim的环境参数有没设置好的方法:
#在你编译vim的目录,也就是vim/src/