Vim插件安装

Vim插件安装

安装vundle

默认安装在/.vim/bundle/vundle下;

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

基本插件及配置

1
2
cd
vim .vimrc

在~目录创建.vimrc 文件,并将下面代码复制到文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
set nocompatible " 插件需要设置
filetype off " 插件需要
set number " 打开行号设置
set encoding=utf-8
set ruler " 光标信息
set hlsearch " 高亮显示搜索
set incsearch " 边搜索边高亮

set ts=4 " tab 占4个字符宽度
set autoindent " 复制上一行的缩进
" set expandtab tab为4个空格

syntax enable " 语法高亮
syntax on

set t_Co=256
set background=dark
" colorscheme solarized

" 插件配置
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'

Bundle 'scrooloose/nerdtree'
Bundle 'kien/ctrlp.vim'
Bundle 'majutsushi/tagbar'
Bundle 'vim-airline/vim-airline'
Bundle 'vim-airline/vim-airline-themes'

Bundle 'scrooloose/nerdcommenter'
Bundle 'airblade/vim-gitgutter'

Bundle 'Valloric/YouCompleteMe'
Bundle 'editorconfig/editorconfig-vim'

call vundle#end()
filetype plugin indent on

" nerdtree 文件列表插件配置
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
" 自动打开 nerdtree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
" 使用 vim 而不是 vim .
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" 打开任意文件启动 nerdtree 我不需要
" autocmd vimenter * NERDTree

" ctrlp.vim 文件搜索插件配置
" 快捷键配置
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 设置工作目录读取方式
let g:ctrlp_working_path_mode = 'ra'
" 忽略搜索文件
"let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/](\.git|\.hg|\.svn|target|node_modules)$',
\ 'file': '\v\.(exe|so|dll|class)$',
\ 'link': 'some_bad_symbolic_links',
\ }


" ctags c语言支持配置
set tags=tags; " ; 不可省略,表示诺当前目录不存在tags,则在父目录寻找。
" map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
map <C-F12> :!ctags -R * <CR><CR>

" vim-airline 配置
" 启用显示缓冲区
let g:airline#extensions#tabline#enabled = 1

" nerdocmmenter 注释插件配置
let g:NERDSpaceDelims = 1 " 默认情况下,在注释分割符后添加空格
let g:NERDCompactSexyComs = 1 " 使用紧凑语法进行美化的多行s注释
let g:NERDDefaultAlign = 'left' " 让对齐向注释分割符向左而不是跟随代码缩进
let g:NERDAltDelims_java = 1 " 默认情况,将语言设置为使用其备用分割符
let g:NERDCustomDelimiters = { 'c': { 'left': '/**', 'right': '*/'}} " 添加自定义格式
let g:NERDCommentEmptyLines = 1 " 允许注释和反转空行(在注释区域时很有用)
let g:NERDTrimTrailingWhitespace = 1 " 在取消s注释时启用尾部空格的修剪
let g:NERDToggleCheckAllLines = 1 " 启用检查是否以注释

" YouCompleteMe 插件配置
let g:ycm_min_num_of_chars_for_completion = 1 " 在输入第一个字符触发代码补全(可选配置)

运行Vim 安装插件

1
2
vim
:PlugInstall

YouCompleteMe需要另行安装,参考用户指南http://valloric.github.io/YouCompleteMe/

移除不需要的插件

  1. 编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
  2. 保存退出当前的vim
  3. 重新打开vim,输入命令BundleClean

其他常用命令

  1. 更新插件BundleUpdate
  2. 列出所有插件BundleList
  3. 查找插件BundleSearch

使用效果图

使用 vim-plug

Plug 安装

查看vim-plug

配置

vim-plug可查看详细介绍,下面提供了个人常用的配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
" set nocompatible " 插件需要设置
" filetype off " 插件需要
set number " 打开行号设置
set encoding=utf-8
set ruler " 光标信息
set hlsearch " 高亮显示搜索
set incsearch " 边搜索边高亮

set ts=4 " tab 占4个字符宽度
set autoindent " 复制上一行的缩进
" expandtab " tab为4个空格

syntax enable " 语法高亮
syntax on

set t_Co=256
set background=dark
" colorscheme solarize

" 取消备份
set nobackup
set noswapfile

" 解决插入模式下delete/backspce键失效问题
set backspace=2


" 插件配置
call plug#begin('~/.vim/plugged')

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

Plug 'scrooloose/nerdtree'
Plug 'kien/ctrlp.vim'
Plug 'tacahiroy/ctrlp-funky'

Plug 'majutsushi/tagbar'

Plug 'editorconfig/editorconfig-vim'

Plug 'scrooloose/nerdcommenter'
Plug 'airblade/vim-gitgutter'

call plug#end()


" nerdtree 文件列表插件配置
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
" 自动打开 nerdtree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
" 使用 vim 而不是 vim .
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" 打开任意文件启动 nerdtree 我不需要
" autocmd vimenter * NERDTree



" ctrlp.vim 文件搜索插件配置
" 快捷键配置
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 设置工作目录读取方式
let g:ctrlp_working_path_mode = 'ra'
" 忽略搜索文件
"let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/](\.git|\.hg|\.svn|target|node_modules)$',
\ 'file': '\v\.(exe|so|dll|class)$',
\ 'link': 'some_bad_symbolic_links',
\ }


" ctrlp-funky 插件配置
map <F6> :CtrlPFunky<cr>
let g:ctrlp_extensions = ['funky']
let g:ctrlp_funky_syntax_highlight = 1



" tagbar 插件配置
map <F5> :TagbarToggle<cr>

" vim-airline 配置
" 启用显示缓冲区
let g:airline#extensions#tabline#enabled = 1


" nerdocmmenter 注释插件配置
let g:NERDSpaceDelims = 1 " 默认情况下,在注释分割符后添加空格
let g:NERDCompactSexyComs = 1 " 使用紧凑语法进行美化的多行s注释
let g:NERDDefaultAlign = 'left' " 让对齐向注释分割符向左而不是跟随代码缩进
let g:NERDAltDelims_java = 1 " 默认情况,将语言设置为使用其备用分割符
let g:NERDCustomDelimiters = { 'c': { 'left': '/**', 'right': '*/'}} " 添加自定义格式
let g:NERDCommentEmptyLines = 1 " 允许注释和反转空行(在注释区域时很有用)
let g:NERDTrimTrailingWhitespace = 1 " 在取消s注释时启用尾部空格的修剪
let g:NERDToggleCheckAllLines = 1 " 启用检查是否以注释

vim-plug 常用命令

1
2
3
4
5
6
7
8
# 安装插件
:PlugInstall

# 删除插件
:PlugClean

# 更新插件
:PlugUpdate