CentOS7 Vim自动补全插件----YouCompleteMe安装与配置

最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete。但在网上搜索时,看到了YouCompleteMe,说YCM更好用一些。个人也喜欢新鲜事物,故决定安装YCM。但安装过程遇到了不少坑,网上的教程有不同的安装方法,基本都试遍了。最终在倒腾了一下午的情况下终于弄好了,现在把可行的安装配置方法贴出来,以供需要的人参考。

 

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

要安装YouCompleteMe ,vim须支持python。看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持。

如果不支持,需要以编译安装方式重新安装vim。编译配置选项:

1
. / configure  - - with - features = huge  - - enable - pythoninterp  - - enable - python3interp  - - enable - luainterp  - - enable - multibyte  - - enable - sniff  - - enable - fontset

 

一、安装vundle插件

步骤一:

1
[zhupengfei@localhost ~]$ git clone https: / / github.com / gmarik / vundle.git ~ / .vim / bundle / vundle^C

 步骤二: 在.vimrc中配置

 

1
[zhupengfei@localhost ~]$ vim .vimrc

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
set  nocompatible              " be iMproved, required
filetype off                  " required
 
set  the runtime path to include Vundle  and  initialize
set  rtp + = ~ / .vim / bundle / vundle /
call vundle #rc()
" alternatively,  pass  a path where Vundle should install plugins
"let path  =  '~/some/path/here'
"call vundle #rc(path)
 
" let Vundle manage Vundle, required
Plugin  'gmarik/vundle'
 
" The following are examples of different formats supported.
" Keep Plugin commands between here  and  filetype plugin indent on.
" scripts on GitHub repos
Plugin  'tpope/vim-fugitive'
Plugin  'Lokaltog/vim-easymotion'
Plugin  'tpope/vim-rails.git'
" The sparkup vim script  is  in  a subdirectory of this repo called vim.
" Pass the path to  set  the runtimepath properly.
Plugin  'rstacruz/sparkup' , { 'rtp' 'vim/' }
" scripts  from  http: / / vim - scripts.org / vim / scripts.html
Plugin  'L9'
Plugin  'FuzzyFinder'
" scripts  not  on GitHub
" git repos on your local machine (i.e. when working on your own plugin)
" ...
 
filetype plugin indent on     " required
Bundle  'Valloric/YouCompleteMe'

步骤三:保存退出,打开vim,输入   :BundleInstall 进行自动安装。

进程如下,+号表示已经安装,>表示正在安装。

1
[zhupengfei@localhost ~]$ vim
1
:BundleInstall

安装时有个错误,这是正常的,因为ycm需要手动编译出库文件。

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!

 

二、安装配置YouCompleteMe

 步骤四: 然后到.vim/bundle/YouCompleteMe 下执行命令:

./install.sh --clang-completer

参数是为了支持c/c++的补全

1
[zhupengfei@localhost YouCompleteMe]$ . / install.sh  - - clang - complete

然后可能还会出现报错:

Some folders in /home/sky-tm/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party are empty; you probably forgot to run:    git submodule update --init --recursive

若出现此错误,则按照提示来,继续输入命令:

 git submodule update --init --recursive

1
[zhupengfei@localhost YouCompleteMe]$git submodule update  - - init  - - recursive

等此命令更新完成后,再此执行命令:

./install.sh --clang-completer

1
[zhupengfei@localhost YouCompleteMe]$ . / install.sh  - - clang - complete

安装完成后,进行一些简单的配置就可以使用了。

YouCompleteMe进行补全时需要查找一个 ycm_global_ycm_extra_conf文件。可以每次在工作目录中放置这个文件,也可以设置全局。全局设置要在.vimrc中添加一行即可。

注:.ycm_extra_conf.py 是个隐藏文件,路径在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py

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

 

 关于.vimrc的配置就不贴了,网上有很多,可以根据个人的喜好进行配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值