简介: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',

添加结果如下:

转载于:https://www.cnblogs.com/alinh/p/6699789.html

Vim自动补全神器YouCompleteMe的配置相关推荐

  1. vim 自动补全插件YCM 安装 配置

    vim 自动补全插件YCM 安装 配置 报错 NoExtraConfDetected: No .ycm_extra_conf.py file detected, so no compile flags ...

  2. vim插件自动补齐_(转)Vim自动补全神器:YouCompleteMe

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

  3. Vim自动补全神器:YouCompleteMe

    From:http://www.jianshu.com/p/d908ce81017a github 地址:https://github.com/Valloric/YouCompleteMe YouCo ...

  4. 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)

    前言 本文写于2020年10月,如果你多年后看见这篇文章,方法可能已经失效,但是请牢记,尽量下载你所处时代的最新版本的软件,会减少很多麻烦. 摆正心态 即便按照本文操作,由于你的系统状态和我的不一样, ...

  5. Vim中安装自动补全插件YouCompleteMe

    前言 自动补全:YouCompleteMe可以说是Vim中最好用的插件了,但是它的安装也可以说的上是Vim中最难的一个了.往往会出现各种错误,在还没有享受到这个插件给我们带来的快感时就会被安装的各种错 ...

  6. linux自动补全命令插件,vim自动补全插件snipMate

    linux下安装vim自动补全插件snipMate 环境:ubuntu 下载snipMate 官方网站:http://www.vim.org/scripts/script.php?script_id= ...

  7. vs代码补全的快捷键_效率工具 | 一款基于深度学习的代码自动补全神器

    前言 代码补全对于大多数开发人员来说是至关重要的,它可以有效的提高开发效率.减少拼写错误和输入代码量.我们使用的大多数开发工具都自带补全功能,或者可以通过安装插件具备补全功能.但是,以往的代码补全功能 ...

  8. kite:Python 代码自动补全神器

    kite:Python 代码自动补全神器 吃了 学习python的正确姿势 的安利:这个 Python 代码自动补全神器搞得我卧槽卧槽的. 代码自动补全还是挺舒服的嘿嘿嘿. 下面是官网下载给出的示例: ...

  9. Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结...

    1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...

最新文章

  1. 创建3层的服务模板 (1)--- 概述
  2. 关于使用python的open函数时报No Such File or DIr的错误
  3. 一个用于 Entity Framework 对象拷贝的方法
  4. git提交异常 fatal: LF would be replaced by..
  5. C#使用Advanced CSharp Messenger
  6. qq2013 sp1 去广告方法及代码
  7. android DisplayMetrics
  8. [转]瀑布流布局浅析
  9. asp实现注册登录界面_(01)ASP运行环境的搭建
  10. Sketch 快捷键
  11. 抖音常见的违规封号行为;怎么避免抖音违规;丨国仁网络资讯
  12. 给自己的学习任务1:做一个工资计算器app
  13. 结对编程—四则运算(JAVA)(卢泰佑、李密)
  14. Windows实用工具推荐
  15. vue中this.$router.params接收传值为空咋办
  16. Java ZipOutputStream 的使用,实现压缩文件
  17. 你的 APP 能否精准「推送」击中用户?!
  18. 关于计算机设备自检自查报告,小学计算机室自检自查报告.docx
  19. SketchUp 2021(草图大师)新增功能
  20. 软件高分辨率缩放问题

热门文章

  1. 名称节点和数据节点作用
  2. Unity中uGUI的控件事件穿透逻辑
  3. 二分查找算法的递归、循环实现及其缺陷
  4. GPS时钟同步系统在电力系统的重要性
  5. IBM X60/X61无光驱安装XP
  6. 分类器构筑_为组织构筑基于区块链的未来做准备
  7. wire 和 reg_Wire和Launchkit开源,水流监控系统以及更多新闻
  8. xcom2.0_发布Xcom 2,Elliot Quest,Mesa图形库以及更多开放式游戏新闻
  9. 开源无人机_开源无人机,欧洲开源等等
  10. 前端:JS/25/DOM官方定义,DOM分类,HTML节点树(节点关系,节点类型,),核心DOM中公共的属性和方法(节点访问,查找DOM节点,节点属性,节点的创建,追加和删除)