很多人学习linux的编程使用vim作为编辑器,vim下目前最好的自动补全工具就是YouCompleteMe,一个由google的软件工程师做的vim插件。该插件安装起来稍微有点麻烦,下面以fedora 22为例介绍一下怎么安装YouCompleteMe插件。
本经验中粗体字是要输入的命令;斜体字是配置文件内容;#后面的是对命令的解释。
准备工作:
为了能顺利的安装YouCompleteMe插件,首先要满足安装的依赖。需要安装以下软件包:vim、git、python、python-devel、gcc、gcc-c++、cmake、clang
一起安装的话可以用下面的命令:
sudo dnf install vim git python python-devel gcc gcc-c++ cmake clang
根据YouCompleteMe作者的描述,最好使用vundle这个vim插件管理工具来管理、安装YouCompleteMe。那么第一步就是要安装vundle这个插件。
1.mkdir -p ~/.vim/bundle/vundle #创建文件夹来存放vundle
2.git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle#通过git下载vundle插件。
3.vim ~/.vimrc #编辑~/.vimrc文件加入关于vundle的配置(复制下面的斜体字)
""""""""""""""""""""" Vundle start"""""""""""""""""""""""""""""""""""""""
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
call vundle#rc()
Bundle 'gmarik/vundle
Bundle 'Valloric/YouCompleteMe'
filetype plugin indent on
""""""""""""""""""""" Vundle end"""""""""""""""""""""""""""""""""""""""""
现在就可以开始下载YouCompleteMe。
vim #打开vim
在vim命令模式下输入:BundleInstall #注意大小写,B和I是大写的。
然后剩下的就慢慢等待吧,时间会很长的,因为下载速度很慢。有的可能等上两个小时。窗口会显示插件的状态:+号表示已经安装,>表示正在下载/安装。
YouCompleteMe下载完毕后会有一个错误:Done! With errors; press l to view logycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need to compile YCM before using it. Read the docs!
不用理会该错误继续跟着本经验往下走即可。
下载完毕后开始编译安装YouCompleteMe。
mkdir ~/ycm_build #在自己的家目录创建一个编译文件夹
cd ~/ycm_build #cd到编译文件夹
cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp #生成makefile
make #生成可执行文件,这一步时间比较长,慢慢等待,不过有进度。
编译安装已经完成,下面就是简单配置一下。
YouCompleteMe进行补全时需要查找一个 ycm_global_ycm_extra_conf文件。可以每次在工作目录中放置这个文件,也可以设置全局。全局设置要在~/. vimrc中添加一行即可:
vim ~/. vimrc #编辑属于自己账户的vim配置文件,然后把下面斜体字编写到文件内即可。
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
这样就安装好了YouCompleteMe,赶紧找一个C/C++程序试试吧!
PS:vim不方便复制粘贴,可以用gedit等工具。也可以用ssh登陆到linux主机,在ssh客户端可以向vim粘贴。
linux系统的依赖一直很难解决,如果cmake出错的话请仔细检查错误信息,一般都是因为依赖不满足导致的。
Vim自动补全神器:YouCompleteMe:http://www.linuxdiyf.com/linux/14513.html
ubuntu 12.04下Vim插件YouCompleteMe的安装:http://www.linuxdiyf.com/linux/14236.html
Ubuntu 15.04下为Vim安装YouCompleteMe插件:http://www.linuxdiyf.com/linux/12983.html