以前看过vgod的一篇文章介绍过如何结合Pathogen与git submodule来管理Vim插件。当时觉得非常惊艳,用完后vim的配置目录果真清爽了不少。后来很偶然的发现了一个更强大的Vim插件——Vundle!
Vundle给我感觉就像是Pathogen和Git的封装,它通过Vim来后台调用Git,从而免去用户直接在命令行操作Git。而Vundle之所以能够使用Git来管理所有的Vim插件,关键就在于Github上的一个vim-scripts帐号,它将vim.org上所有的插件克隆到了Github上。本来这个帐号是为Pathogen建的,结果被Vundle直接拿来用了,呵呵。除了Github上的仓库,Vundle还支持任意的git仓库。
Vundle可以通过一个命令安装所有的插件,一个命令给所有的插件升级。而要安装的插件则都写在vim的配置文件里,所以看起来一目了然,更方便管理。Vundle的官方README里面有详细的安装指南,这里简单介绍一下配置过程。
首先自然是先去项目主页下载好插件。放到.vim/bundle目录中。可以使用以下命令安装:
$ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
然后在自己的配置文件里面加上下面的语句,启用Vundle:
set nocompatible " be iMproved
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
接下来就能在配置文件中指定安装哪些插件了,Vundle支持三种格式,具体见下面的配置:
" 使用Vundle来管理Vundle,这个必须要有。
Bundle 'gmarik/vundle'
"接下来是要安装的插件
"格式1:Github上其他用户的仓库(非vim-scripts账户里的仓库,所以要加Github用户名)
Bundle 'tpope/vim-fugitive'
Bundle 'tpope/vim-rails.git'
"格式2:vim-scripts里面的仓库,直接打仓库名即可。
Bundle 'L9'
Bundle 'FuzzyFinder'
"格式3:非Github的Git仓库
Bundle 'git://vim-latex.git.sourceforge.net/gitroot/vim-latex/vim-latex'
最后在所有Bundle命令后面加上文件类型检测:
filetype plugin indent on
大功告成,在vim里面输入:BundleInstall命令后Vundle就会自动帮你把所有的插件装好。而:BundleInstall!命令则会自动升级所有插件。
你也可以使用Vundle手动管理插件,例如我写了一个mytemplates插件,并放到了.vim/myplugin目录中,那么可以在vim的配置文件中加入下面的命令:
set rtp+=~/.vim/myplugin/mytemplates/
这样Vunlde就会自动去myplugin目录中载入mytempaltes插件。
现在,我可以用.vimrc来管理所有的插件了。:-)