Vim script management system
Inspired by pathogen and GLVS, I put together a very simple system for managing Vim scripts (known as bundles henceforth) downloaded from http://www.vim.org/scripts/.
Bundles are kept in their own self-contained subdirectories inside the
~/.vim/bundle/
directory and they are added dynamically to Vim’s
runtimepath by the following activation code (which has since evolved into
the unbundle.vim plugin) in the ~/.vimrc
file:
" register bundles found in the runtimepath
let s:bundles = tr(globpath(&runtimepath, 'bundle/*/.'), "\n", ',')
let s:afters = tr(globpath(s:bundles, 'after/.'), "\n", ',')
let &runtimepath = join([s:bundles, &runtimepath, s:afters], ',')
" activate ftplugin/ scripts inside bundles
filetype off
filetype plugin indent on
Bundles are installed and upgraded by the get.rb script (which has since
evolved into the update script) which looks for ~/.vim/bundle/*.get
files that specify their respective bundles’ script_id
numbers taken
from their download URLs:
http://vim.org/scripts/script.php?script_id=NUMBER
Thus I am able to easily install, upgrade, and remove bundles. See my personal Vim configuration for further details.