Pathogen creates a new directory "bundle/" underneath your .vim/
directory. You then place the entire directory structure for a plugin in
a subdirectory of bundle. For example:
.vim/
bundle/
pluginFoo/
plugin/
autoload/
syntax/
doc/
pluginBar/
plugin/
autoload/
doc/
The point is to prevent files from multiple plugins from being mixed
together in the standard directory structure. This makes them much
easier to upgrade or remove in the future.
Other than putting plugins into the bundle/ directory, you have to add
one line to your .vimrc so the bundles get loaded at startup. That's all
there is to it.
I agree that pathogen makes plugins easier to remove if the plugin is
not in vimball format. With vimball format, its simply :RmVimball
pluginname , so the two methods are about equally easy to use as regards
plugin removal.
Insofar as upgrading a plugin is concerned; well, a plugin not using
pathogen would likely just overwrite its previous component(s), so
upgrading isn't likely to be easier (the only exception I see is where a
component is removed).
IMHO, of course,
Chip Campbell
Good points. However, pathogen confers the additional benefit (for those
who want it) of making it simpler to version-control your .vim
directory. I've seen a number of people (myself included) who use Git to
track changes to .vim/, and install plugins as Git submodules with
pathogen. Since a lot of plugin authors host their code on Github (and
there's a mirror of vim.org's scripts repository there), this makes it
trivially easy to bring all your plugins up to date with a single
command.
That said, Vimballs are a fine solution for anyone who doesn't care
about that. But unless every plugin you want to use is available as a
Vimball, I think it's cleaner just to use pathogen, and enforce the
"good hygiene" from the outside.