程序员同学都知道在写程序时,如果能有一个好的自动提示补齐的工具对于提高开发效率是多么的必要。YCM就是vim编辑器下实现这样功能的插件,它非常强大,可以支持多种开发语言,例如C/C++,python,Go等,但是YCM的安装非常麻烦,它不像其他插件那样直接安装即可,它还需要进行编译。今天就在Ubuntu下实验了一把YCM的安装过程,记录下来,以飨有需要的同学。
安装vim下插件管理器:
vundle是vim下主流的插件管理器,github的地址是:https://github.com/VundleVim/Vundle.vim, 安装步骤如下:
(1)#mkdir -p ~/.vim/bundle - 这是建立插件的安装目录
(2)#cd ~/.vim/bundle
(3)#git clonehttps://github.com/VundleVim/Vundle.vim- 下载Vundle
(4)编辑~/.vimrc文件,加入如下内容:
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'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
一旦安装好vundle,后续就可以通过PluginInstall命令进行安装你想要的插件了,具体参考vundle的使用说明。
安装前准备
前面说过YCM插件需要编译的,所以先要安装一些编译需要的工具:
(1)#sudo apt-get install build-essential cmake
(2)#sudo apt-get install python-dev python3-dev
(3)在vim下使用PluginInstall命令下载YCM插件:PluginInstall 'Valloric/YouCompleteMe',这一步耗时比较长,当然你也可以自己手动使用git命令下载。
安装
下载完成后,进入YCM插件目录进行编译:
#cd ~/.vim/bundle/YouCompleteMe/
#./install.py --clang-completer - 如果你不想安装C语言自动补齐的功能,可以去掉--clang-completer选项
这一步耗时也很长,需要耐心等待。。。
安装成功后是这样的:
编辑~/.vimrc文件,加入YCM插件的支持:
Plugin 'Valloric/YouCompleteMe'
好的,我们来测试一下,先测试一下它对C语言的文件的支持情况:
这里提示vim版本没有达到要求,不能使用YCM,所以还需要升级vim版本,最简洁的办法就是执行如下命令:
#sudo add-apt-repository ppa:jonathonf/vim
#sudo apt-get update
#sudo apt-get remove vim
#sudo apt-get install vim
这时候执行vim命令你会发现版本已经升级至8.0.604了。
配置
首先需要将YCM插件包里的.ycm_extra_conf.py文件拷贝至你的个人用户某个目录下,如:
cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
然后编辑~/.vimrc文件,加入下面两句:
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
测试效果
我们随便编辑一个C语言文件,嗯,看到了吧,效果还是可以的。
再来看看python文件:
至此,YCM插件就安装好了,enjoy it!