想要配置一套支持golang和c++代码提示和自动补全的vim环境,一直以来都有一点问题,不是youcompleteme安装有问题,就是vim-go安装的不够完整。最近买了一台国外的vps,安装这些工具遇到的问题相对就比较好解决。注意:系统环境使用centos7以上。
简单列一下需要安装的工具:
- vim8.0以上,需要完美支持vim-go
- vundle,管理vim插件
- youcompleteme,这个不需要多说,自动补全的神器
- vim-go,支持vim写golang的代码提示,语法高亮,代码跳转等
下面开始安装过程:
1.vim8.0安装
删除系统自带的vim
1 | yum remove -y vim-enhanced |
安装必须lib
1 | sudo yum install python-devel |
安装vim
1 | wget https://github.com/vim/vim/archive/master.zip |
2.安装vundle插件
1 | mkdir -p ~/.vim/bundle |
编辑~/.vimrc,内容如下:
1 | set expandtab |
执行BundleInstall,安装vim-go和youcomleteme
3.安装youcompleteme,先支持C/C++代码补全
上一步是先将youcomplete下载到本地,需要编译一下才能YcmServer,编译过程如下:
1 | cd ./vim/bundle/YouCompleteMe |
到这youcompleteme基本安装完成,可以支持基本文本提示功能,如果需要支持C/C++的补全,需要进行如下操作
1 | cd /home/work/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm |
编辑ycm_extra_conf.py,在flag下面加入下面配置:
1 | '/usr/include/c++/4.8.2/', |
vimrc加入如下配置
1 | let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' |
生成tags使用ctags,一般除了在自己工程根目录下生成一个tags文件,还可以在/usr/include/目录下也生成一下,并加入tags路径,生成tags的命令如下。
1 | ctags --c-kinds=+px --c++-kinds=+px --fields=+iafksS --extra=+qf -R . |
4.支持golang代码补全
vim-go安装好之后,执行GoInstallBinaries,会自动安装go-def,gofmt,gocode等工具,这些工具支持go代码跳转,代码格式化,代码高亮等功能,详细可以参考github上的介绍。
到这一步,基本安装好了一个完整的支持c/c++,golang代码补全,代码跳转等功能的vim环境。在此过程中可能还需要安装一些必要的工作包,比如git,ctags,gcc, gcc-c++, cmake,ctags等工具,我这边都是使用系统工具yum自动安装,centos7.0以上支持这些软件版本基本都能满足需求。