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. CentOS 7 安装、配置、使用 PostgreSQL 9.5(一)安装及基础配置

    一直不知道怎么读这个数据库的名字,在官网上找到了文档.PostgreSQL is pronounced Post-Gres-Q-L. 读音 What is PostgreSQL? How is it ...

  2. 常用BAPI list

    2017-03-25 MD 主数据 1.创建物料主数据 CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' 2.创建供应商 CALL METHOD VMD_EI_API=&g ...

  3. PYTHON调用C接口(基于Ctypes)实现stein算法最大公约数的计算

    相关环境配置 mingw,选择相应的32位.64位的版本,主要用于编译动态链接库dll文件,可用vs替代,这里我选择轻量级的mingw windows64位地址:https://sourceforge ...

  4. JDBC通用方法实现

    在一些测试项目中会用到纯粹的jdbc操作数据库,下面提供统一的方法实现. import java.sql.CallableStatement; import java.sql.Connection; ...

  5. Machine Learning No.4: Regularization

    1. Underfit = High bias Overfit = High varience 2. Addressing overfitting: (1) reduce number of feat ...

  6. Dubbo之生产者

    环境步骤: 安装Zookeepr启动 创建Maven项目搭建生产者和消费者 安装DubboAdmin平台,实现监控 Dubbo注册中心采用的是Zookeeper.为什么采用Zookeeper呢? Zo ...

  7. ACM学习历程——HDU2227 Find the nondecreasing subsequences(线段树 && dp)

    Description How many nondecreasing subsequences can you find in the sequence S = {s1, s2, s3, ...., ...

  8. HL7 Event Type

    Table 0003 - Event type Value Description A01 ADT/ACK - Admit / visit notification A02 ADT/ACK - Tra ...

  9. 推荐几个Laravel 后台管理系统

    小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ...

  10. std::ostringstream 转std::string

    http://www.cplusplus.com/reference/sstream/ostringstream/ https://en.cppreference.com/w/cpp/io/basic ...