Pathogen was the first vim plugin management system that I’ve known of. The contender is Vundle which seems to be inspired in it’s configuration syntax (and name) by Ruby’s Bundler.
So let’s compare those two.
Pathogen
Pathogen’s workings are quite easy to grasp: each plugin is a directory within “~/.vim/bundle/”; pathogen traverses through the plugin list and includes each one of them. Let’s see a sample directory:
|
|
It gets really powerful when you store you ~/.vim directory within a git repository and share it between multiple computers. If you use git submodules for each plugin you even get versioned plugins for free.
|
|
Vundle
Vundle is the newcomer. As it’s name suggests it’s configuration seems to be inspired by Bundler: each plugin is defined within the main ~/.vimrc:
|
|
Now you can install all plugins from within Vim by calling “:PluginInstall”. This in term installs all configured plugins within ~/.vim/bundle/":
|
|
Note that Vundle.vim was initially cloned by myself but is managed by Vundle itself after the initial installation. The plugins itself are checked out from git:
|
|
Verdict
IMHO Vundle doesn’t add too much over pathogen. It’s main benefit is that all configuration is concentrated within a single “~/.vimrc”.
This would allow sharing a configuration through a Gist. But you would have to create the initial ~/.vim by hand anyways(installing vundle, etc.). When using pathogen for storage the initial setup is “checking out .vim; checking out submodules” and everything is setup.
Plugin installation is more comfortable with Vunlde, it doesn’t get any easier than adding a line to your .vimrc. With pathogen you have to do a full
|
|
As I do not change plugins often this point is moot for me. A problem that I’m seeing with current Vundle is that it doesn’t allow for plugin versioning. When you use pathogen through git submodules versioning is implicitly provided by git.
IMHO Vundle has more potential for future extensions while pathogen keeps closer to the Unix spirit. And was written by tpope.