Ubuntu14.04+vim8.0下Youcompleteme插件 安装
安装YouCompleteMe插件(下文简称YCM)要求vim的版本是vim 7.4.1578 及以上,且支持Python2或Python3。不过每个人在安装过程中所遇见的问题可能是不相同的。下面是我安装YCM的详细步骤及问题。1. 升级vim我之前使用的vim版本低于vim 7.4.1578,要顺利安装YCM插件则需要升级vim,我选择的版本是vim 8.0。1.1 更新依赖软件sudo apt install libncurses5-devlibgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev\
libcairo2-dev libx11-dev libxpm-dev libxt-devpython-dev python3-dev\
ruby-dev lua5.1 lua5.1-dev libperl-dev git
1.2 卸载原来的vimsudo apt remove vim vim-runtime gvim
1.3 安装vim 8.01)下载vim 8.0,创建文件夹vim保存下载文件。cd ~ (返回主目录)sudo git clone https://github.com/vim/vim.git
2) 编译vim 8.0cd vim
sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \(支持Python2)
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \(红色部分需要根据自己的文件名称加以修改)
--enable-python3interp=yes \(支持Python3)
--with-python3-config-dir=/usr/lib/python3.4/config-x86_64-linux-gnu \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local
sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim 80(编译vim8.0文件夹保存目录)
为了方便vim 8.0以后的卸载可以使用checkinstall命令来初始化vim 8.0。cd ~ (返回主目录)sudo apt installcheckinstall(安装checkinstall)cd vimsudo checkinstall(初始化vim8.0)也可以直接使用sudo make install命令。
1.4 查看vim版本确认vim支持Python2/Python3:2. 通过Vundle来安装YCM
2.1 安装Vundlesudo git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim2.2 安装所需依赖工具sudo apt-get install build-essential cmake
sudo apt-get install python-dev python3-dev
2.3 安装YCMsudo vim ~/.vimrc(编辑.vimrc文件)在vim窗口执行命令 :PluginInstall退出vim命令为 :q退出后执行:vim +PluginInstall +qall2.4 配置Vundle
打开.vimrc文件根据自己的文件路径加以配置(图中标记部分,此处我选择的是支持Python2.7)2.5 安装成功3. 遇到的问题在安装YCM的过程中也是遇到了一些较为棘手的问题,查了好多解决方法,此处总结一下有代表性的问题。
3.1 问题1YouCompleteMe unavailable: requires Vim compiled with Python (2.7 or 3.4 +)support.原因分析:可能是编译的时候命令写错,可以使用命令vim --version | grep python查看,vim是否支持Python2或者Python3,如下图所示,+Python/+Python3则表示支持Python2和Python3,dyn表示动态可选即Python2 和 Python3 都可用,需要选择。
解决:卸载vim,重新编译安装。(按照上文中的步骤)也可以试试直接重新编译。如果上述结果显示是+Python/+Python3,但是结果仍然报错,可以考虑编译vim时对Python2、Python3的支持只选择一个,我也遇到过这个情况,最后我选择的是支持Python3。--enable-python3interp=yes \(支持Python3)--with-python3-config-dir=/usr/lib/python3.4/config-x86_64-linux-gnu \3.2 问题2
Vim: Caught deadly signal SEGVVim: Finished.具体原因我也不清楚,也不知道我的解决办法对大家的问题有没有帮助。解决:重新编译vim,编译时让vim同时支持Python2和Python3。
--enable-pythoninterp=yes \(支持Python2)--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \(红色部分需要根据自己的文件名称加以修改)--enable-python3interp=yes \(支持Python3)--with-python3-config-dir=/usr/lib/python3.4/config-x86_64-linux-gnu \参考资料