vim 作为一个有历史的编辑器,经过了几十年的洗礼,依然是相当一部分程序员最喜欢的编辑器。 这和它的高效便捷是有很大的关系,如何在你熟悉vim之后,你开始觉得 vim 不是很方便高效, 这时你可以使用数量众多优质的插件打造出一个的更高效的编辑器。

vim 的插件丰富多彩,质量也很高,下面推荐个人觉得不错的几款插件。

nerdtree

查看当前目录下的目录文件树,可以很方便的找到对应的文件并进行切换编辑。

项目地址: https://github.com/scrooloose/nerdtree

nerdcommenter

快速注释和删除注释,支持各种注释方法,比如 /* */ 和 //, 支持块级注释,如果觉得 vim 下的多行注释很麻烦,这就是你要 找的注释插件。

项目地址: https://github.com/scrooloose/nerdtree

vim-colors-solarized

vim 的 solarized 主题, 这个就不用多介绍了。

项目地址: https://github.com/altercation/vim-colors-solarized

ctrlp

模糊文件搜索,包括搜索最近文件和搜索当前目录下和子目录下的所有文件,使用频率比较高的插件。

项目地址: https://github.com/kien/ctrlp.vim

YouCompleteMe

很强大的自动补全引擎,支持的语言包括 C-family, C#, Go, JavaScript, Python, Rust, TypeScript , 当然也可以支持其他语言。 功能强大,比较重量级,安装起来也比较麻烦。

项目和安装参见:

https://github.com/Valloric/YouCompleteMe

vundle

vim 的插件管理器,使用这个插件可以很方便的安装和卸载插件。在你决定使用 vim 的插件的时候,先手动安装 vundle, 再使用 vundle 安装其他插件,会帮你节省不少时间。

项目和安装方法参见: https://github.com/VundleVim/Vundle.vim

使用 vundle 安装插件

使用下面的命令安装 vundle:

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

然后编辑 .vimrc, 加入 vundle 的配置信息,并加入要安装的插件,再次启动 vim, 执行 :PluginInstall 即可完成安装。

参见文档: https://github.com/VundleVim/Vundle.vim/blob/master/README_ZH_CN.md

个人使用的 .vimrc 文件如下:

" 
" vim settings 
"
" ----------------------------------------------------
" vim plugin manager 
" 
" use command bellow install vundle for vim:
"   git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
"
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" add your plugin here

Plugin 'VundleVim/Vundle.vim'               " required
Plugin 'scrooloose/nerdtree'                " file/directory treee
Plugin 'scrooloose/nerdcommenter'           " code commenter
Plugin 'kien/ctrlp.vim'                     " Fuzzy file, buffer, mru, tag, etc finder
Plugin 'altercation/vim-colors-solarized'   " solarized theme

call vundle#end()            " required
filetype plugin indent on    " required 


" ----------------------------------------------------
"  basic settings
"
set nu
syntax enable
syntax on
" let mapleader=','
" let g:mapleader=','

" theme 
set background=dark             " dark | light
colorscheme solarized           " use solarized theme
let g:solarized_termcolors=256  " if you are use terminal

" encoding, autoindent
set autoindent
set encoding=utf-8
set fileencodings=utf-8
set fileencoding=utf-8
set fileformats=unix,dos
set ts=4

" replace tab with 4 whitespace
set shiftwidth=4
set expandtab
set pastetoggle=<F3>

" nerd tree toggle
map <silent>,, :NERDTreeToggle<CR>
" map <silent><C-c> :close<CR>

" nerd commenter
let g:NERDSpaceDelims=1
map cc          <plug>NERDCommenterComment<CR>
map cu          <plug>NERDCommenterUncomment<CR>
map cs          <plug>NERDCommenterSexy<CR>
map ci          <plug>NERDCommenterInvert<CR>
map cy          <plug>NERDCommenterYank<CR>
map ce          <plug>NERDCommenterToEOL<CR>
map c<space>    <plug>NERDCommenterToggle<CR>

暂时就更新这几款插件,后面发现好用的插件会持续更新。