linux vim ycm,Ubuntu 15.04下为Vim安装YouCompleteMe插件

Linux系统:Ubuntu 15.04,为Vim安装YouCompleteMe插件,有需要的朋友可以参考下。

0x00. 简介

YouCompleteMe号称Vim的自动补全神器,YouCompleteMe: a code-completion engine for Vim,该项目在github的地址:YouCompleteMe。

0x01. Requirements

Vim is at least 7.3.584 and it has support for Python2 scripting.

0x02. 用Vundle来安装YCM(YouCompleteMe)

安装其实非常简单,在.vimrc文件中加入语句 Bundle 'Valloric/YouCompleteMe' 即可,保存,退出,然后再次打开Vim,normal模式下输入 :BundleInstall 即开始下载。如下图:

2342740bca063b7d13be572c8b723150.png

也可以切换至 .vim/bundle下手动下载,输入如下命令:

git clone https://github.com/Valloric/YouCompleteMe.git

手动下载完后检查仓库的完整性,切换到 YouCompleteMe 目录下,输入如下命令:

git submodule update --init --recursive

0x03.  下载最新的libclang

Clang是一个开源的编译器,它可以编译C/C++/Objective-C/Objective-C++. Clang提供的libclang库是用来给YCM为这些语言提供语义补全的引擎。和YCM配合的libclang版本必须 >=3.6 ,但理论上也是可以和 3.2+ 版本的libclang配合使用的。下载最新的libclang如下:

sudo apt-get install libclang-dev

0x04. 编译YCM需要的ycm_support_libs库

首先要确保你已经安装类cmake。如果没有,请按如下安装:

sudo apt-get install cmake

其次需要确保你有一些 Python头文件。如果没有,请按如下安装:

sudo apt-get install python-dev

接下来,创建新的文件夹 ycm_build 进行编译,如下:

1 cd ~

2 mkdirycm_build3 cd ycm_build

不需要语义补全的童鞋们,直接执行下面的语句:

cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

然并卵啊,俺们是需要语义补全的呀~,那么请先去 llvm.org 下载最新的 clang+llvm包,然后把它们解压到 ~/ycm_temp/llvm_root_dir 文件夹下。接着,执行如下语句:

cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

再接着要开始编译 ycm_support_libs 库,执行如下语句:

make ycm_support_libs

593da89999f311d8b93a0bb937b52efb.png

这样就编译完了。

0x05. 配置YCM

本渣开始以为编译完了就完事了,谁知道再次打开Vim,它来了这么一句:No .ycm_extra_conf.py file detected, so no compile flags are available. Thus no semantic support for C/C++/ObjC/ObjC++. 哦呵呵呵~

进 ~/.vim/bundle/YouCompleteMe 文件夹下一看。。。没有 cpp !没有 cpp !没有 cpp !

接着再次打开 .vimrc 配置YCM,如下:

"YouCompleteMe

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

d1052c9a026e369b75aacdbcc65bccbc.png

之后再次打开Vim即可。

为了补全,我们还需要在 .ycm_extra_conf.py 文件中进行配置,如下:

1 '-isystem',2 '/usr/include',3 '-isystem',4 '/usr/include/c++/4.9.2',5 '-isystem',6 '/usr/include',7 '/usr/include/x86_64-linux-gnu/c++',

1b0fc488f289d3013878f398ae7c2e89.png

0x06. Summary

城里人真会玩:)

31f3febaa1ec02371a2c5a467fe4f0ca.png

自己再配置配置可以起飞了~

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值