Vundle is short for Vim bundle and is a Vim plugin manager.

  • git上下载vundle

    $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  • 配置vundle插件
    1. Put this at the top of your .vimrc to use Vundle. Remove plugins you don't need, they are for illustration purposes.

      set nocompatible              " be iMproved, required
      filetype off " required " set the runtime path to include Vundle and initialize
      set rtp+=~/.vim/bundle/Vundle.vim
      call vundle#begin()
      " alternatively, pass a path where Vundle should install plugins
      "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required
      Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported.
      " Keep Plugin commands between vundle#begin/end.
      " plugin on GitHub repo
      Plugin 'tpope/vim-fugitive'
      " plugin from http://vim-scripts.org/vim/scripts.html
      Plugin 'L9'
      " Git plugin not hosted on GitHub
      Plugin 'git://git.wincent.com/command-t.git'
      " git repos on your local machine (i.e. when working on your own plugin)
      Plugin 'file:///home/gmarik/path/to/plugin'
      " The sparkup vim script is in a subdirectory of this repo called vim.
      " Pass the path to set the runtimepath properly.
      Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
      " Install L9 and avoid a Naming conflict if you've already installed a
      " different version somewhere else.
      Plugin 'ascenator/L9', {'name': 'newL9'}
      "下面这行是添加YouCompleteMe插件
      Bundle 'Valloric/YouCompleteMe'
      "下面这行是添加注释插件,可以\cc注释,用\cu取消注注释
      Bundle 'scrooloose/nerdcommenter'
      " 所有vundle管理的插件都要在下面这行结束之前写好
      call vundle#end() " required
      filetype plugin indent on " required
      " To ignore plugin indent changes, instead use:
      "filetype plugin on
      "
      " Brief help 下面是vi中的命令,可以打开vim之后命令模式下输入执行
      " :PluginList - lists configured plugins
      " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
      " :PluginSearch foo - searches for foo; append `!` to refresh local cache
      " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
      "
      " see :h vundle for more details or wiki for FAQ
      " 下面可以加一些其它的自定义vi配置,比如说:
      set number
      set autoindent
      set cindent
      syntax enable
      syntax on
      "set c_Coo=256
      set backspace=indent,eol,start
      set tabstop=4
      set shiftwidth=4
      set smarttabet
      "set softabstop=4
      set expandtab
      set encoding=utf-8
      set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,lantin1
      filetype on
      filetype indent on
      filetype plugin indent on
    2. 下载插件:

      打开vim并运行命令 :PluginInstall,会自动把上面添加的YouCompleteMe下载到~/.vim/bundle/YouCompleteMe

      To install from command line: vim +PluginInstall +qall

 

  • 下载完成YouCompleteMe后,需要对其进行编译安装

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

这里需要安装有python-dev和cmake包

打开vim时提示No .ycm_extra_conf.py file detected, so no compile flags are available. Thus no semantic support for C/C++/ObjC/ObjC++.。只需要设置.ycm_extra_conf.py文件的位置即可,在.virmc文件中添加如下内容let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py',如果该路径下没有,有可能 在let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py',然后重新打开vim即可。  

From <http://hahaya.github.io/build-YouCompleteMe/>

  • 配置YouCompleteMe

"下面这部分没改

为了补全C++代码,在Linux下我们需要修改.ycm_extra_conf.py文件中的flags部分,使用-isystem添加系统的头文件进行解析,使用-I添加第三方的头文件进行解析,在flags部分后添加如下内容:

'-isystem',

'/usr/include',

'-isystem',

'/usr/include/c++/4.8',

10. '-isystem',

11. '/usr/include',

12. '/usr/include/x86_64-linux-gun/c++',                        

From <http://hahaya.github.io/build-YouCompleteMe/>

使用YouCompleteMe进行代码跳转可以通过绑定一个快捷键:nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>,很好理解,先跳到定义,如果没找到,则跳到声明处。\jd                               

From <http://feihu.me/blog/2014/intro-to-vim/>

:help map可以进入vi的快捷键的相关帮助文档

例如,本来需要按\jd转到变量的定义,那么现在只要按,jd就可以了

~/.vimrc:
let leader=','
letg:mapleader=','
nnoremap <leader>jd:Ycmcompleter GoToDefinitionElseDeclaration<CR>

设置注释的颜色

highlight Comment ctermfg=green guifg=green                      

From <http://blog.csdn.net/bendanban/article/details/7968055>

vi安装Vundle+YouCompleteMe+注释快捷'scrooloose/nerdcommenter'的更多相关文章

  1. Vim Vundle YouCompleteMe

    /************************************************************************************** * Vim Vundle ...

  2. windows下安装vundle

    windows下安装vundle ## 前言 windows下安装vundle和linux下稍微有些不一样,虽然官网给出了 安装说明,但是有些问题的. E117: Unknown function: ...

  3. Vim+Vundle+YouCompleteMe 安装

    这段时间在Centos 7上开发c++程序,想为vim安装YouCompleteMe插件,参照几个博客无果,果断上官网找解决方案.功夫不负苦心人,终于搞定. 学习东西还是要多上官网. 下面送上本次的收 ...

  4. Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

    序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度.这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe ...

  5. 【转】Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

    原文网址:http://www.cnblogs.com/csuftzzk/p/3435710.html 序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度 ...

  6. 简单vi配置:YouCompleteMe

    下图就是我的VI: 按F5 F6分别调出左右的窗体: 按C-P点出CtrlP搜索,直接查找project中的文件: 自己主动补全用的YouCompleteMe.超级强悍: watermark/2/te ...

  7. win下gvim或者linux下的vim安装vundle都适用的配置文件 - 在当前目录及其子目录下**, 的所有文件* 中, 搜索当前光标所在的单词

    gvim下的普通配置: if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8,g ...

  8. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  9. vim实战:插件安装(Vundle,NerdTree)

    一:插件管理器Vundle 1.简介 Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件.插件管理器用于方便.快速的安装.删除.Vim更新插件.vim Vundle插件官方地址:h ...

随机推荐

  1. SharePoint 2013 Create taxonomy field

    创建taxonomy field之前我们首先来学习一下如果创建termSet,原因是我们所创建的taxonomy field需要关联到termSet. 简单介绍一下Taxonomy Term Stor ...

  2. Vertica 分区表设计

    Vertica数据库中的表只是一个逻辑概念. 实际存储在磁盘上的是projection. 当创建一张表,没有创建projection时,那么插入数据的时候会自动创建一个默认的projection.如果 ...

  3. Android面试一天一题(1Day)

    写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...

  4. php内核分析(四)-do_cli

    这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux # main 把剩下的代码增加了下注释全部贴出来了(这个是简化后的main函数,去掉了一些无关紧要的代码段): int m ...

  5. 通过NPOI操作Excel

    最近在做的一个项目中需要生成Excel,通过学习使用NPOI实现了相关需求,写了一个简便操作的类,记录如下: public class NPOIHelperForExcel { #region exc ...

  6. [SQL Server] 特殊字符、上标、下标处理

    今天遇到一个问题是往 SQL Server 中导入像m².m³这样的单位数据,可是在 SQL Server 中查看到的都是 m2.m3,于是在网上查了一下资料,顺便摘录下来供日后查阅. 一  Wind ...

  7. BestCoder Round #89 B题---Fxx and game(单调队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  B ...

  8. windows7 x64下maven安装和配置

    http://maven.apache.org/download.cgi下载maven 环境配置 验证配置是否成功 本地仓库配置 这是原来的配置文件: 更改为: link 离线安装 eclipse m ...

  9. HTML DOM总结

    MDN的定义 文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口.它给文档(结构树)提供了一个结构化的表述并且定义了一种方式—程序可以对结构树进行访问,以改变文档的结构,样式和内容. ...

  10. JS高程4.变量,作用域和内存问题(1)

    1.基本类型和应用类型的值 ECMAScript变量可能包含两种不同数据类型的值: 基本类型值--简单的数据段.(5种基本的数据类型,按值访问,因为可以操作保存在变量中的实际的值.) 引用类型值--多 ...