介绍:ycm是YouCompleteMe的简称。用处是导入头文件,自动补全和跳转函数定义
一、vim 8.x 编译、安装ycm
参考链接:https://blog.csdn.net/superhoner/article/details/111310897
- 先查看vim的版本,及vim对python大版本的支持效果(+代表支持,-表示不支持)
2.在.vimrc文件里面加入
3.重新打开vim,在末行输入,让vim自动安装插件。
4.vim-plug 安装完成后,为了避免包缺失,在 ~/.vim/plugged/YouCompleteMe下运行命令。git clone只能够克隆项目本身,不能够克隆项目的依赖模块(子模块)
5.运行安装脚本
这个时候最好是在前面指定pyhton版本,博主linux上有三四个python版本,后面在给ycm配置参数的时候才知道,用哪个python编译就要在配置文件里面指定那个pyhton版本。所以最好写成这样
我以前装过很多东西了所以并没出现过如下错误
如果出现了,就安装g++、 build-essential,然后再执行上面的指令
6.然后ycm插件就算是有了。接下来就是配置ycm插件。
二、配置ycm插件(.ycm_extra_conf.py和.vimrc)
参考链接:
https://blog.csdn.net/weixin_33877092/article/details/93080514
https://blog.csdn.net/rikeyone/article/details/95970499
https://www.jianshu.com/p/3edc26d9d0b6
1.把模板文件放到家目录下
2.修改.ycm_extra_conf.py文件(这个文件里面的flags是最需要修改的——支持语言、语言标准、编译选项、头文件路径)。我在里面修改和添加了C、C++语言支持
(-x代表使用何种语言。-std和-isystem是gcc的编译选项)
3. 在~/.vimrc里面加入ycm插件配置
细节:
1.如何知道clang支持哪些C和C++语法、语义标准,如何将头文件路径加入设置。
用命令查看库路径
echo | clang -v -E -x c++ -
#include "..." search starts here:
#include <...> search starts here:
/opt/llvm-4.0.1/bin/../include/c++/v1
/usr/local/include
/opt/llvm-4.0.1/bin/../lib/clang/4.0.1/include
/usr/include
End of search list.
将上面的 include 目录加入到 flags中
'-isystem',
'/opt/llvm-4.0.1/bin/../include/c++/v1',
'-isystem',
'/usr/local/include',
'-isystem',
'/opt/llvm-4.0.1/bin/../lib/clang/4.0.1/include',
'-isystem',
'/usr/include',
'-I',
'/home/user/projects/include', # 此处填写项目头文件路径
效果如图: