YouCompleteMe是一个功能极强的自动补全插件,安装这个插件折磨了我好久,找了很多博客查看都无果,最后还是感谢stack overflow。和其它的一些插件相比,YCM能够基于语法来给出相应的补全政策,而不是简单的通过文件的格式。运行效果的截图:

  我把安装的过程分为几下几步:

1. 找一个比较好用的基础的vim配置,或者原来你电脑上就有的配置也行。我使用的是https://github.com/ma6174/vim,提供一键安装的办法进行安装。运行wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x即可。

2.检查自身环境是否符合要求:

    • 首先是检查vim ,版本必须大于Vim 7.4.143,版本限制可能会更改,具体请查看git,检查版本信息通过vim --version。
    • 由于YCM上层封装使用的是python,所以还需要检查版本信息。python2或者python3都支持。同样的通过python --version查看。
    • 安装vundle,具体的安装过程见git,相当简单。
    • 安装Cmake,sudo apt-get install build-essential cmake。
    • 安装python,  sudo apt-get install python-dev python3-dev。
    • 完成上述步骤就可以开始检测clang,clang --version。现在YCM的版本需要Clang3.9的支持,如果系统版本小于3.9则可以通过apt进行更新,更新完成之后在/usr/bin下进行clang文件替换,替换成最新版本。
    • 接下来开始进行YouCompleteMe的安装:
      • 克隆git仓库:   在.vim/bundle/目录下进行克隆,命令如下:git clone https://github.com/Valloric/YouCompleteMe.git   完成之后会在此目录下生成YouCompleteMe文件
      • 进行安装:   在cd ~/.vim/bundle/YouCompleteMe目录下执行./install.py --clang-completer --system-libclang   使用本地libclang库进行安装,这个过程中如果系统clang库为更新可能出错。
      • 安装过程中会进行编译,时间估计比较长。
    • 最后一步,其实当初自己安装的时候开始的这几步都不怎么迷糊,但是这一步总是出错。最后是添加YouCompleteMe自动提示的数据源,我们需要在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm这个目录下找到.ycm_extra_conf.py文件,并编辑这个文件在flags部分添加如下内容:

      '-isystem',
      '/usr/include/',
      '-isystem',
      '/usr/include/c++/',
      '-isystem',
      '/usr/include/x86_64-linux-gnu/c++',
      '-isystem',
      '/usr/local/include/', 这个具体根据自己的文件来决定,现在所有的配置都已经完成了,enjoy it!!!

vim配置----YouCompleteMe配置的更多相关文章

  1. 【实习记】2014-08-19升级vim配置YouCompleteMe并debug的过程+qtcreator有语言包没法换语言

        做了个小项目,有空闲可以做点事了. 偶然查资料看见YouCompleteMe的鼎鼎大名. 演示demo <img src="http://i.imgur.com/0OP4ood ...

  2. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  3. Linux : Vim 使用与配置 (附 GitHub 自动化配置脚本)

    由于经常使用 vim 编辑配置文件,有时候也会进行使用vim 编写一些脚本和c/c++ 程序,所以配置一个常用的 vim 是很是必要的.这篇博文主要是记录vim使用和配置相关的一些知识点. 关于vim ...

  4. Mac vim“装逼”配置

    配置c++ 等编程语言补全等 from blog http://www.cnblogs.com/xiaobo-Linux/p/8909402.html 1. 安装 macvim brew instal ...

  5. vim的简单配置

    本文大部分内容转载自:https://blog.csdn.net/lhy2932226314/article/details/69668891 vim是从 vi 发展出来的一个文本编辑器.功能丰富,在 ...

  6. vim安装与配置

    vim 8.0 安装 git clone https://github.com/vim/vim.git sudo apt-get install libncurses5-dev  # vim依赖一个n ...

  7. Linux c++ vim环境搭建系列(4)——vim插件安装配置使用

    4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...

  8. vim + ctags + taglist配置和使用

    vim +ctags + taglist ,ctags+cscope 安装配置和使用 内容:VIM下ctags和taglist的安装配置方法:一键安装 ctags和cscope的方法 :vim语法高亮 ...

  9. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...

随机推荐

  1. 3行代码 多元线性方程组 rank=4 多元-一元 降元

    对于线性方程组Ax=b 对A和b执行同样的一串行初等运算, 那么该方程组的解集不发生变化. [未知-已知   高阶--低阶] http://mathworld.wolfram.com/CramersR ...

  2. Delphi String的散漫记录,真是知识无数,陷阱无数

    真是膜拜Delphi C++ Builder编译器的作者们,要下多少苦功夫才能解决如此之多的问题,制造出一个神级作品给世人享用.另外以我的编程经验所能想到很麻烦但却是必须的还有两个地方,一个是Form ...

  3. 破解powerdesigner教程

    点Tool

  4. FI模块与SD、MM的接口配置方法

    [转自 http://blog.itpub.net/195776/viewspace-1023910/] 1 FI/SD 借口配置FI/SD通过tcode VKOA为billing设置过帐科目,用户可 ...

  5. ABAP excel操作 OLE 常用方法和属性

    转自 http://bstone.blog.163.com/blog/static/176820446201172834149199/#userconsent# OLE 常用方法和属性 1.ole中如 ...

  6. idea生成可执行jar

    1.创建工程 ①使用idea新建一个maven工程. ②编辑工具逻辑代码 ③完成代码的编写后添加工具调用的main方法以接收参数 至此代码编辑过程已经基本完成 ④在maven管理依赖的时候使用idea ...

  7. PAT 甲级 1041. Be Unique (20) 【STL】

    题目链接 https://www.patest.cn/contests/pat-a-practise/1041 思路 可以用 map 标记 每个数字的出现次数 然后最后再 遍历一遍 找到那个 第一个 ...

  8. u盘安装debian 7(Wheezy) stabe

    将一个闲置u盘插入电脑usb口.从http://mirrors.sohu.com/debian-cd/7.4.0/amd64/iso-dvd/debian-7.4.0-amd64-DVD-1.iso ...

  9. BA优化PnP的思路

    由之前的PnP,可以求出一个R,t,K又是已知的.而且空间点的世界坐标知道,第二个相机位姿的像素坐标也是知道的.就可以利用它们进行优化.首先确定变量为const vector<Point3f&g ...

  10. POJ2104 K-th Number —— 区间第k小 整体二分

    题目链接:https://vjudge.net/problem/POJ-2104 K-th Number Time Limit: 20000MS   Memory Limit: 65536K Tota ...