红联Linux门户
Linux帮助

Fedora 22为Vim安装YouCompleteMe插件

发布时间:2015-10-07 09:47:21来源:linux网站作者:香风吹落嫦娥笑

很多人学习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