天天看点

vim中YouCompleteMe插件安装

YouCompleteMe介绍

YouCompleteMe是一款针对Vim的快速,即用型的模糊搜索代码补全引擎。 它有几个补全引擎:

  • 一种基于标识符的引擎,可以与每种编程语言一起工作
  • 一个基于Clang的引擎,为C / C ++ / Objective-C / Objective-C ++(从现在起被称为“类C语言”)提供本地语义代码补全,
  • 一个基于Jedi的Python 2和3的补全引擎(使用JediHTTP包装器),
  • 基于OmniSharp的C#补全引擎,
  • Go的Gocode和Godef语义引擎的组合,
  • 一个基于TSServer的TypeScript补全引擎,
  • 一个基于Tern的JavaScript补全引擎,
  • 一个基于racer的Rust补全引擎,
  • 一个基于jdt.ls的Java实验补全引擎。
  • 一个基于omnifunc的补全引擎,使用来自Vim的omnicomplete系统的数据为许多其他语言(Ruby,PHP等)提供语义补全。

安装准备

首先保证你的vim版本为7.4.1578及以后,并且具有Python2或Python3支持,如果你的系统是ubuntu16.04及以上那么就不用特别检查已经足够了。

检查vim版本通过

vim --version

,如果版本过低,可以通过

sudo apt-get upgrade vim

升级vim版本或者通过编译新的vim版本得到,详细参考编译新的vim版本参考

通过vundle安装YouCompleteMe

安装vundle

首先确认git已经安装

sudo apt-get install git 
           

通过git安装vundle

详细的vundle安装教程看这里链接

这里假设你已经会安装vundle后

在.vimrc中添加一句

进入vim,并通过vundleInstaller安装插件

vim
:PluginInstall
           

安装会比较慢,毕竟YCM有270+M,等vundle中YCM这一行头上的

>

变为

+

并且命令行的processing消失

通过

:q

退出PluginInstaller,关闭vim,这时候打开vim会发现命令行报错,Ycmd Server SHUT DOWN,没关系,这是正常的,到这里还没安装完。

这里只是把YCM下载到了本地并且通过Vundle建立了托管关系,YCM还需要进一步编译

后续编译

注意:

YCM是一个具有复合组件的插件,如果你通过Vundle升级YCM,并且ycm_core library APIs已经改变,那么YCM会提醒你重新编译。

安装必要的安装工具和编译工具

sudo apt-get install build-essential cmake
           

注意

在更早的系统上(如ubuntu14.04),如果你使用cmake会遇到编译问题

因此,你需要按照这样安装工具:

sudo apt-get install build-essential cmake3
           

确保Python头文件已经被安装:

编译含有类C语言补全支持的YCM:

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
           

以下附加语言支持选项可用:

+ C#支持:安装Mono并在调用./install.py时添加

--cs-completer

+ GO支持:安装Go并在调用./install.py时添加

--go-completer

+ TypeScript支持:安装Node.js和npm,然后使用

npm install -g typescript

安装TypeScript SDK。

+ JavaScript支持:安装Node.js和npm,并在调用./install.py时添加

--js-completer

+ Rust支持:安装Rust并在调用./install.py时添加

--rust-completer

+ Java支持:安装JDK8(需要版本8),并在调用./install.py时添加

--java-completer

到这里就应该安装完成了,如果再打开vim没有报错就没有问题了。

问题

在安装时,遇到了YCM的.ycm_extra_conf.py 文件找不到的报错,原来是在安装教程说的

~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py

这个配置文件,在新版的YCM已经不在这个目录上了,有两种解决办法,一种是按照这个目录在YouCompleteMe目录下面新建这个子文件夹,新建一个

.ycm_extra_conf.py

并从github复制这个配置文件的内容;另一种,其实这个配置文件在本地存在,但是位置发生了改变,在.vimrc配置文件中修改过来即可

在配置文件的最后添加这两行

"YouCompleteMe
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
           

保存关闭,再打开vim,就不再有报错了。

参考内容

安装总体教程

http://blog.jobbole.com/58978/

https://github.com/Valloric/YouCompleteMe#ubuntu-linux-x64

解决配置文件报错

https://blog.csdn.net/yue7603835/article/details/53140891

http://tieba.baidu.com/p/4151717757?traceid=

继续阅读