首先做准备工作

1.

sudo apt-get update
sudo apt-get install -f
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo apt-get install git
sudo apt-get install cmake

2.执行

wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

(这一步网速好些,大概要20分钟左右)
等待自动安装完成,完成之后,已经算是一个很好用的vim了,改下配色

3.编辑~/.vimrc
加入一行
set t_Co=256 然后再改配色,

安装传说中的YouCompleteMe补全插件

1.在 .vimrc中添加一句

Bundle ‘Valloric/YouCompleteMe’

2.然后保存推出,随便用vim 打开一个文件

输入 :BundleInstall

等待安装(这个过程需要大概20分钟)
3.成功之后,会在~/.vim/bundle 下出现YouCompleteMe目录

cd ~/.vim/bundle/YouCompleteMe
./install.py —clang-completer

这个过程需要下载clang,编译(需要时间多一些,大概30分钟左右)
参数–clang-completer是为了支持C/C++的补全,不需要可以不加。
编译过程比较长,耐心等待。
正常来说,YCM会去下载clang的包,如果已经有,也可以用系统–system-libclang

4.修改.vimrc配置文件
将下面的内容添加到.vimrc里面

" 寻找全局配置文件
let g:ycm_global_ycm_extra_conf ='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
" 禁用syntastic来对python检查
let g:syntastic_ignore_files=[".*\.py$"]
" 使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1
" 开启语义补全
" 修改对C语言的补全快捷键,默认是CTRL+space,修改为ALT+;未测出效果
"let g:ycm_key_invoke_completion = '<M-;>'
" 设置转到定义处的快捷键为ALT+G,未测出效果
"nmap <M-g> :YcmCompleter GoToDefinitionElseDeclaration <C-R>=expand("<cword>")<CR><CR>
"关键字补全
"let g:ycm_seed_identifiers_with_syntax = 1
" 在接受补全后不分裂出一个窗口显示接受的项
set completeopt-=preview
" 让补全行为与一般的IDE一致
set completeopt=longest,menu
" 不显示开启vim时检查ycm_extra_conf文件的信息
let g:ycm_confirm_extra_conf=0
" 每次重新生成匹配项,禁止缓存匹配项
let g:ycm_cache_omnifunc=0
" 在注释中也可以补全
let g:ycm_complete_in_comments=1
" 输入第一个字符就开始补全
let g:ycm_min_num_of_chars_for_completion=1
" 错误标识符
let g:ycm_error_symbol='>>'
" 警告标识符
let g:ycm_warning_symbol='>*'
" 不查询ultisnips提供的代码模板补全,如果需要,设置成1即可
" let g:ycm_use_ultisnips_completer=0
"

然后就差不多了
5.保存退出.vimrc ,打开一个C/C++源程序,体验其自动补全效果。

7.添加头文件
目前在include中,无法补全stdio.h等头文件,我们需要将/usr/include添加进去。路径添加到 ~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py 文件中的flags 数组中,每增加一个路径,前面要写’-isystem’。

以后需要boost库等其他的补全,也需要将相应的路径添加进去。

-.YoucompleteMe还有很多强大的功能,有兴趣可以继续探索。

vim 配置(ma6174 + YCM)相关推荐

  1. vim配置http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按"F8"可进行C.C ...

  2. 超级强大的 vim 配置(vimplus)

    From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/ ...

  3. 超级强大的vim配置(vimplus)

    From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/ ...

  4. VIM配置攻略(最强干货加强版)

    自己最近也在折腾这个VIM的配置,在网上也看了很多教程等,说真的看的一头雾水.主要是对于一个初学者来说对Vundle等根本没有什么了解,也不知道怎么用,并且由于本人的Linux系统是CentOs6.5 ...

  5. 强大的vim配置,让编程更随意

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按"F8"可进行C.C ...

  6. vim配置@year12

    先装vim8.0 http://blog.csdn.net/nzyalj/article/details/75331822 安装vundle git clone https://github.com/ ...

  7. 我的VIM配置及说明【K-VIM】

    我的VIM配置及说明[K-VIM] 我的vim配置及说明[k-vim] vim插件分类及快捷键 vim基本用法 使用说明 配置步骤 其他 截图 自定义快捷键说明 插件及其快捷键说明 gmarik/vu ...

  8. 强大的,方便编程的vim配置

    我想补充一点的是,当这么配置后,配合putty使用的时候,可能直接圈起来不能复制了,因为由vim处理了鼠标事件,为了让xterm处理,需要按shift点鼠标就可以了.这样就可以复制了. 另外,下面这个 ...

  9. linux 编辑器vim配置

    1.         基本配置 对vim进行配置的目的: 进行vim配置,可以让我们在后续敲代码更加方便.按F5可以直接编译并执行C.C++代码以及执行shell脚本:按"F8"可 ...

  10. vim配置python开发环境_GitHub - TTWShell/legolas-vim: Vim配置,为python、go开发者打造的IDE。...

    legolas-vim 个人vim配置.支持python.go等自动提示,支持python.go的函数跳转(python支持虚拟环境). 最终效果图(函数列表的feature已移除,因为大项目会导致性 ...

最新文章

  1. Git Bash修改默认路径
  2. Win2008学习(二),群集的仲裁配置
  3. Arm v9的牙膏挤出来了,超大核机器学习性能x2,小核4年来终于更新
  4. UVa 941 Permutations
  5. 【Python问题解决】关于解决python3.x无法使用PIL库的解决方法
  6. 第二讲:第一个Python程序(干货)
  7. Javascript闭包与作用域
  8. 电子商务专业需要考计算机证吗,电子商务必考的证有哪些
  9. 梯度下降-从0开始一行代码一解释
  10. python 导入自定义包
  11. python中eval()函数的作用及使用方法
  12. 快速新建多个文件夹,而且是指定名称的!
  13. 汽车之外 这届2018CES盛会电视和语音助理也很亮眼 | CES
  14. 数据分析师课程(ArcGIS按属性选数据、各种数据分析案例)
  15. NetBeans--员工信息管理系统
  16. Docker 入门教程(一) - Docker Tutorial
  17. OAuth认证(完整版)
  18. ETHA Lend完成160万美元融资---为DeFi领域带来全新的收益优化协议
  19. 【转】OpenVZ虚拟化开源项目简介
  20. 巴基斯坦购物软件测试,盘点:巴基斯坦网购消费者最喜欢的10种产品

热门文章

  1. redis 删除操作命令
  2. C++基础病毒性函数汇总
  3. 7、前后端分离中的权限管理思路
  4. MySQL数据库实验练习题
  5. Edge地址栏搜索引擎换成Bing
  6. 几种取时间的方法(附代码)
  7. 直播电商“变坏”,从罗永浩们开始
  8. 深度linux iso镜像,深度 Deepin 15 正式版 ISO 镜像下载 - 精美易用适合国人学习的国产 Linux 发行版......
  9. 解决Invalid bound statement (not found): com.hengjun.mapper.UserMapper.selectByExample,
  10. com.Android.pngn.tlq,Android学习笔记(八)——四种基本布局