简介:YouCompleteMe号称Vim的自动补全神器,该项目在github的地址:YouCompleteMe;以下在10.0.1 build-1379776平台配置完成

插件安装操作:

1、确保Vim版本至少是7.4.273,并且支持python2脚本;vim版本升级:sudo add-apt-repository ppa:fcwu-tw/ppa; sudo apt-get update; sudo apt-get install vim

操作系统字符编码必须设置为UTF-8

查询语系命令:locale

在Ubuntu14.04中修改语系的方法:

打开文件/etc/default/locale,修改变量LANG:

中文:LANG="zh_CN.UTF-8"

英文:LANG="en_US.UTF-8"

在CentOS7.0中修改语系的命令行方法:

修改为中文:localectl set-locale LANG=zh_CN.utf8

修改为英文:localectl set-locale LANG=en_US.UTF-8

或者打开文件/etc/locale.conf修改LANG=zh_CN.utf8

修改后重启即可

2、下载最新版的libclang。Clang是一个开源编译器,能够编译C/C++/Objective-C/Objective-C++。Clang提供的libclang库是用于驱动YCM对这些语言的语义补全支持。YCM需要版本至少为3.6的libclang,但是理论上3.2+版本也行。也可以使用系统libclang,如果确定是3.3版本或者更高。sudo apt-get install libclang-dev;首先要确保你已经安装类cmake。如果没有,请按如下安装:sudo apt-get install cmake;其次需要确保你有一些 Python 头文件。如果没有,请按如下安装:sudo apt-get install python-dev

3、编译YCM需要的ycm_support_libs库。YCM的C++引擎通过这些库来获取更快的补全速度。需要cmake,如果未安装,安装之:sudo apt-get install build-essential cmake(也可以下载安装http://www.cmake.org/cmake/resources/software.html)。确保python头文件已安装:sudo apt-get install python-dev

4、假设你已经通过Vundle装好YCM了,那么它应该位于~/.vim/bundle/YouCompleteMe;如果~/.vim/没有bundle文件夹,执行命令:git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

5、手动安装YouCompleteMe。切换至 ~/.vim/bundle 手动下载YouCompleteMe,输入如下命令:git clone https://github.com/Valloric/YouCompleteMe.git; 手动下载完后检查仓库的完整性,切换到 YouCompleteMe 目录下,输入如下命令:git submodule update --init --recursive

6、编译YCM,如果需要对C-family的语义支持:cd ~/.vim/bundle/YouCompleteMe; ./install.sh --clang-completer;如果不需要对C-family的语义支持:cd ~/.vim/bundle/YouCompleteMe; ./install.sh ;如果需要支持C#,添加 --omnisharp-complete。如果需要支持Go添加--gocode-completer

编译clang+llvm时内存要大于1.5G,否则会报错: g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report

主要原因大体上是因为内存不足,临时使用交换分区来解决:

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile

编译完成后释放交换空间:

sudo swapoff /swapfile
sudo rm /swapfile

7、接着再次打开 .vimrc 配置YCM,添加内容如下:

filetype off                  " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Plugin 'Valloric/YouCompleteMe'
filetype plugin indent on " required!
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

  注:

8、为了补全,我们还需要在 .ycm_extra_conf.py 文件中进行配置,vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py;添加信息如下:

'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/4.8.4',
'-isystem',
'/usr/include/c++/4.9.2',
'-isystem',
'/usr/include',
'/usr/include/x86_64-linux-gnu/c++',

  实际上以上是vim自动补全时搜索路径,如果自动补全的内容位于/usr/local/include里面,则添加以下信息:

'-isystem',
'/usr/local/include',

  根据实际的/usr/include/c++/中的文件夹名称(即C++版本号)修改:

'-isystem',
'/usr/include/c++/4.8.4',
'-isystem',
'/usr/include/c++/4.9.2',

添加结果如下:

Vim自动补全神器YouCompleteMe的配置的更多相关文章

  1. Vim自动补全神器–YouCompleteMe

    YouCompleteMe的特别之处 基于语义补全 总所周知,Vim是一款文本编辑器.也就是说,其最基础的工作就是编辑文本,而不管该文本的内容是什么.在Vim被程序员所使用后,其慢慢的被肩负了与IDE ...

  2. Vim自动补全神器–YouCompleteMe

    一.简介 YouCompleteMe是Vim的自动补全插件,与同类插件相比,具有如下优势 1.基于语义补全 2.整合实现了多种插件 clang_complete.AutoComplPop .Super ...

  3. 【转】Vim自动补全插件----YouCompleteMe安装与配置

    原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...

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

    Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...

  5. Vim自动补全神器:YouCompleteMe

    第一次听说这个插件还是在偶然的情况下看到别人的博客,听说了这个插件的大名.本来打算在实训期间来完成安装的,无奈网实在不给力,也就拖到了回家的时候.在开始准备工作的时候就了解到这个插件不是很容易安装,安 ...

  6. Vim自动补全神器:YouCompleteMe(转)

    转自:http://blog.jobbole.com/58978/ 可能会有一段时间写linxu,免不了用vim,留着,找时间实操之 原文出处: marchtea 的博客 第一次听说这个插件还是在偶然 ...

  7. (转)Vim自动补全神器:YouCompleteMe

    原文出处:http://blog.jobbole.com/58978/ 第一次听说这个插件还是在偶然的情况下看到别人的博客,听说了这个插件的大名.本来打算在实训期间来完成安装的,无奈网实在不给力,也就 ...

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

    最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...

  9. vim自动补全插件YouCompleteMe

    前言 Valloric/YouCompleteMe可以说是vim安装最复杂的插件之一,但是一旦装好,却又是非常好用的.YouCompleteMe简称ycm 在安装折腾的过程中,我再一次的体会到,除了官 ...

随机推荐

  1. 基于nodejs+webSocket的聊天室(实现:加入聊天室、退出聊天室、在线人数、在线列表、发送信息、接收信息)

    1  安装 socket.io模块 npm install "socket.io": "latest" 2 app.js相关 ws = require('soc ...

  2. Win CE 6.0 获取手持机GPS定位2----示例代码 (C#)

    一.须知 1.手持机(PDA)必须有GPS模块,才能通过代码使用串口通信获取GPS相关信息 2.要清楚自己手持机(PDA)固定的GPS通信串口号,如我们公司的手持机获取GPS信息的串口为COM4 3. ...

  3. python pip安装方法

    1.python安装,最好是按照32位的版本,64位版本有的时候出现奇怪问题. 2.python安装完成后,需要在系统的环境变量"path"中增加路径设置. 3.一般情况下,使用p ...

  4. riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法

    基本要求 一个riot标签,就是展现和逻辑的组合(也就是html和JS): 以下是编写riot标签最基本的规则: 先撰写HTML,再撰写JS,JS代码可以写在<script>标签内部,但这 ...

  5. Logcat monkey命令

    1. monkey命令 adb shell monkey -p com.autonavi.gxdtaojin --bugreport --ignore-crashes --ignore-timeout ...

  6. BeginInvoke()使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  7. win10 uwp 九幽图床

    本文主要是图片加水印自动上传,代码已经上传github. 图片加水印,我的方法,简单,一个好的方法是毒逆天大神的图片加水印方法或http://daily.zhihu.com/story/8812028 ...

  8. WAMPServer配置修改及问题汇总

    备忘录 软件版本wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b -------------------------------------- ...

  9. vim搭建笔记

    在接触vim近一年后,自己的vimrc都是拼凑别人的,所以有很多插件和配置并不会使用 现在,我决定,花费一天时间,一步一步的搭建自己的vim配置! 去该网址下载安装vim http://www.vim ...

  10. 基于HTML5及WebGl下生成的json格式的工控SCADA风机叶轮旋转

    突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而且这个盒子一定要能打开.我用HT实现了我的想法,代码一百多行,这么少的代码 ...