vi安装Vundle+YouCompleteMe+注释快捷Bundle 'scrooloose/nerdcommenter'

Posted toffrey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi安装Vundle+YouCompleteMe+注释快捷Bundle 'scrooloose/nerdcommenter'相关的知识,希望对你有一定的参考价值。

  •  Vundle

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

Set up Vundle:

  • git上下载vundle

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

  • Configure Plugins

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如果要添加bundle就按如下的格式进行添加

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‘}

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help下面是vi中的命令
" :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
" Put your non-Plugin stuff after this line

如果要简单配置一下的话,这一步里可以直接   cp ~/.vim/bundle/Vundle.vim/test/vimrc ~/.vimrc,test里有写好的简单测试配置用例,下面是另一些vi的配置示例

set number

set autoindent

set cindent

syntax enable

syntax on

"set c_Co=256

set backspace=indent,eol,start

set tabstop=4

set shiftwidth=4

set smarttab

"set softabstop=4

set expandtab

set encoding=utf-8

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

filetype on

filetype indent on

filetype plugin indent on

 

3. ~/.vimrc中添加

1

Bundle ‘Valloric/YouCompleteMe‘

 

 

 

 YouCompleteMe

4. 打开vim,输入命令

1

:BundleInstall

此时会自动下载~/.vimrc中添加的bundle,这里就是YouCompleteMe

 

5. 安装完成后,需要对YouCompleteMe进行编译安装

1

2

cd ~/.vim/bundle/YouCompleteMe

./install --clang-completer

这里如果出错并且报python库出错,可能需要安装python-dev

 

 

打开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‘,然后重新打开vim即可

 

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

下面这部分没改

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

 

  1. ‘-isystem‘, 
  2. ‘/usr/include‘, 
  3. ‘-isystem‘, 
  4. ‘/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/>

 

 

 

 Bundle ‘scrooloose/nerdcommenter‘

这个插件是注释用插件,可以\cc注释,用\cu取消注释

 

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

 

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

 

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

例如  let leader=",‘

nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>本来需要按\jd转到变量的定义,那么现在只要按,jd就可以了

 

 

设置注释的颜色

highlight Comment ctermfg=green guifg=green  

 

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

 

 

 

 

 

 

以上是关于vi安装Vundle+YouCompleteMe+注释快捷Bundle 'scrooloose/nerdcommenter'的主要内容,如果未能解决你的问题,请参考以下文章

VIM 代码自动补全, YouCompleteMe安装及配置

vim 自动补全功能:

如何使用vundle在vim中安装插件?

Ubuntu 16.04 + vim8 + vundle + YouCompleteMe

Vim-安装 YouCompleteMe

vim 智能提示插件 YouCompleteMe安装