[YouCompleteMe: a code-completion engine for Vim]该插件是vim下的代码补全插件,功能非常强大,安装方法也很简单,但因为使用的操作系统及环境配置各不相同,所以安装起来非常容易出错,该文就是将本人在安装过程中所遇到的问题避开,把必要步骤及需要注意的点一一列出,供大家参考。
vim使用YouCompleteMe支持python代码补全需要注意以下几点:
1、Make sure you have Vim 7.4.143 with Python 2 or Python 3 support.
(https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source)
#如果vim版本不符合就需要卸载旧版本,然后下载最新版本vim
git clone https://github.com/vim/vim.git
2、如果需要vim同时支持python2和python3,那么就需要在编译vim的时候配置with-python-config-dir与with-python3-config-dir,此路径一定不能错,否则是不能支持的(如果不需要同时支持,可以删除)
sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-python3interp=yes \
--with-python3-config-dir=/Users/frankslg/.pyenv/versions/3.5.2/lib/python3.5/config-3.5m \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 --enable-cscope --prefix=/usr
3、编译
#如果vim是8.0需要使用下面命令进行编译
sudo make VIMRUNTIMEDIR=/usr/share/vim/vim80
sudo make install
vim –version | grep python #查看python及python3前面是“+”还是“-”
localhost:shims frankslg$ vim --version | grep python
+cryptv +linebreak +python/dyn +vreplace
+cscope +lispindent +python3/dyn +wildignore
4、使用vundle插件管理vim插件,安装YouCompleteMe需要先安装vundle
Install YouCompleteMe with Vundle.
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim #没有git自行安装
5、将下面的配置复制到vimrc顶部(如果没有vimrc自己创建一个)
Put this at the top of your .vimrc to use Vundle. Remove plugins you don’t need, they are for illustration purposes.
(https://github.com/VundleVim/Vundle.vim#about)
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
Plugin 'ascenator/L9', {'name': 'newL9'}
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
6、在配置文件中添加下句
Bundle 'Valloric/YouCompleteMe' #vundle配置段中添加此句
#或
Plugin 'Valloric/YouCompleteMe'
7、安装插件
:BundleInstall #在vim配置模式输入,进行安装
#或
:PluginInstall
8、安装YouCompleteMe插件
cd ~/.vim/bundle/YouCompleteMe && ./install.py --all
附
make一遍的时候,第二遍make时会出现cached,所以第二次make的时候还会使用第一次的执行结果,所以想修改就必须清除make操作之后,两次make
make uninstall //卸载
make clean
rm -f src/auto/config.cache