首页 > 在CentOS 6.6 64bit上安装vim智能补全插件YouCompleteMe

在CentOS 6.6 64bit上安装vim智能补全插件YouCompleteMe

简介

YouCompleteMe是一个随键而动的、支持模糊搜索的、高速补全的插件。YCM由google公司搜索项目组的软件工程师Strahinja Val Markovic所开发,YCM后端调用libclang(以获取AST,当然还有其他语言的语义分析库)、前端由C++开发(以提升补全效率)、外层由 python 封装(以成为 vim 插件),它可能是我见过安装最复杂的vim插件了。



安装前提条件及分析

vim 7.3.584+

vim支持Python 2.6+

cmake

clang 3.3+

gcc/g++ 4.7+(支持c++11)

分析上面的这些前提条件,在CentOS 6.6上我们将需要做大量的升级工作:

1.gcc默认版本是4.4.7,不支持C++11,需要将gcc升级到4.8.2

2.vim默认不支持python,需要从源码编译并安装vim,在配置时加入对Python的支持

3.clang需要LLVM编译器框架,需要编译安装LLVM+clang

4.需要升级c++库到C++标准,需要安装clang标准库libc++,libc++abi.so等等



安装依赖库

yum -y install gcc-c++ subversion git 

从源码编译支持Python 2.7.10的vim,参见

http://blog.csdn.net/tao_627/article/details/50444866

http://blog.csdn.net/tao_627/article/details/49980815

将gcc升级到4.8.2,参见

http://blog.csdn.net/tao_627/article/details/50448924

安装LLVM+clang+libC+++libc++abi,参见

http://blog.csdn.net/tao_627/article/details/50449283



编译YouCompleteMe插件

需要事先安装cmake,clang等

现假定你已经通过Vundle安装YCM,就是在~/.vimrc文件中加入 

Bundle 'Valloric/YouCompleteMe'

然后用vim打开任意一个文件,比如

vim old.vimrc

在底部输入

:VundleInstall

这里Vundle会使用git自动下载YouCompleteMe的全部代码。此时我们会得到这样的错误提示:

Done! With errors; press l to view log

ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need to compile YCM before using it. Read the docs!



上述报错提示,需要安装ycm_client_support.so ycm_core.so,这需要编译YCM

假设YouCompleteMe的顶级目录是

~/.vim/bundle/YouCompleteMe

创建一个新文件夹用于存放build的东西

cd ~

mkdir ycm_build

cd ycm_build

cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBclang=ON  -DEXTERNAL_LIBCLANG_PATH=/usr/local/lib/libclang.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

这样会得到makefile文件,但是我们不会用到

cmake --build . --target ycm_support_libs

会在目录

/root/.vim/bundle/YouCompleteMe/third_party/ycmd

下面生成这三个库

libclang.so,ycm_core.so,ycm_client_support.so





修改配置文件.ycm_extra_conf.py,它是个隐藏文件,路径在

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

在.vimrc文件中添加一行来进行全局设置

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

下面是使用Vundle安装YouCompleteMe插件的截图,易见没有报错信息:





参考文献

[1].http://valloric.github.io/YouCompleteMe/

[2].http://valloric.github.io/YouCompleteMe/#full-installation-guide

[3].http://www.linuxidc.com/Linux/2014-04/99719.htm

更多相关:

  • 如果你想在自己的IPhone上安装一个ipa文件,你的手机是无法正常安装的,(越狱,企业证书分发除外)但是我们可以通过以下步骤来实现,前提要有自己的开发者账号。接下来就看一下具体的步骤:第一步:用Xcode新建一个工程Bundle identifier不要和手机中已有的的APP重复,然后用自己的证书打包出ipa文件。第二步:获取mob...

  • 刚接触,啥子都不会,按着教程走需求:识别图片中的文字信息环境:windows系统开发语言:python3.5使用工具类:1.pyocr2.PIL3.tesseract-ocr步骤:1.pyocr网络通直接使用命令:pip install pyocr网络不通,转至https://pypi.python.org/pypi/pyocr/0....

  • 1、前言程序设计好以后会生成若干可执行文件和依赖文件。为了方便程序被更好地使用,需要将程序封装为一个安装程序。2、平台和环境Windows系统安装NSIS下载地址:https://nsis.sourceforge.io/DownloadNSIS(Nullsoft Scriptable Install System)是一个开源的 Win...

  • 展开全部 f=open('xxx','r',encoding='utf-8') file=f.readlines() f.close() f=open('xxx','w',encoding='utf-8') for i in len(file): ----file[i]=file[i].split(',') ----file[i][1...

  • PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7 pillow是PIL的一个分支,虽是分支但是其与PIL同样也具有很强的图像处理库。 Python3.7.0 如何安装pillow 此安装方法在windows7环境下完成: >>>win+r调出运行窗口,键入c...