Package: vimp
Vimp is a simple plugin manager for vim that downloads and installs
plugins and dependencies, updating helptags along the way. In short, by
typing$ vimp get undotree@ctrl-uvimp will download undotree, install it in vim and map it to CTRL-u
(<C-u>). If you decide you don’t want undotree anymore (or just want
to disable the keyboard mapping), type$ vimp disable undotree@ctrl-uIf you specify several plugins, it will download all of them, including
dependencies, them all,in parallel:$ vimp get molokai powerline ctrlp signify nerdtree@ctrl-d \
  undotree@ctrl-u snipmateTo see what you have installed, simply typevimp ls.InstallingThe latest stable release is on PyPI:$ pip install vimpYou can also clone the repository and install that:$ git clone https://github.com/cslarsen/vimp.git
$ cd vimp
$ python setup.py installWarningWhile vimp currently works fine, it should be considered pre-release
alpha grade quality. Meaning that I actively experiment with it, and may
break stuff without notice at the current phase.Also, you may want to backup your entire~/.vimdirectory and~/.vimrcfile before experimenting. Using vimp should be quite safe
at this time, but just in case you really don’t want to mess with your
setup, please backup.Finally, vimp does not recognize your existing plugins. Itdoeswork
fine side-by-side with existing plugins, but I haven’t done much testing
in this situation (a future version of vimp may be able to annex
existing plugins, we’ll see).More examplesAnyway, you can also specify several plugins to install. On a fresh or
existing vim installation, you can install a lot of stuff by typing:$ vimp get molokai powerline ctrlp signify nerdtree@ctrl-d \
  undotree@ctrl-u snipmateThis will download all the plugins above and their dependencies, and
will do soin parallel. It will also map NerdTree to CTRL-d and UndoTree to
CTRL-u.If you do this on a fresh vim install, it will install Pathogen also (note: it
doesnotenable vim plugins for you, but this is something it probably should
in a future version).In the above example, it will also change the current color scheme to
Molokai. To switch from Molokai to the grb256 color scheme, just type:$ vimp switch molokai grb256To disable a package, e.g. NERDTree, type$ vimp disable nerdtree@ctrl-dand to actually remove it from disk, use theremovecommand. To list
installed packages, typevimp lsand to list all available typevimp ls-a.Vimp is in early stages of development, so expect bugs and lots of
changes. I made it for myself, so I don’t care about any of the other
managers.By the way, it does depend on Pathogen and will install it by default.
This is strictly not necessary, but I like Pathogen, so that’s that for
the moment.If you like vimp, let me know. The way to put forward suggestions is to
provide patches. If something is broken, let me know.How it worksIt downloads vim packages to~/.vimp/cache/, extracts files to a
staging area~/.vimp/installedand creates symlinks pointing to it
from~/.vim/bundle.To enable stuff like Pathogen and colorschemes, it adds vimrc entries in.vimp/vimrc. This is read by adding a few lines to your~/.vimrc. (I know, touching.vimrcis not cool, but I’ll change
that later on).Flags to vimpvimp-horvimp--helpto print help.vimp-Vorvimp--versionto print version.vimp-v<command> [argument(s)]to print all actions performed,
e.g.vimp-vinstall fuzzyfind.Commandsvimp helpto print help.vimp help listto print help on the commandlist.vimp install <package(s)>to install packages.vimp listto list installed packagesvimp list-ato list all available packages`vimp list <package(s)>to list package details.vimp disable <package(s)>to disable packages, but leave on disk.vimp remove <package(s)>to disable and delete packages.vimp versionto print version.AliasesI haven’t decided on the exact command names yet, so I have several
aliases so I can see which ones I like:vimp lsis an alias forvimp listvimp getis an alias forvimp installvimp addis another alias forvimp installvimp findis an alias forvimp searchvimp rmis an alias forvimp removevimp uninstallis an alias forvimp disableUnimplemented commandsvimp updateto update the list of available packages.vimp upgradeto actually upgrade packages with newer versions.RequirementsYou need Python and vim, of course. It relies on Pathogen, but will
install this by default if it can’t find it.Adding new plugins / installations scripts to vimpYou can add new scripts to vimp by modifyingscripts.py. I won’t
explain in detail how to now, but just look at what’s there already.If youdoadd new scripts that work, please send a patch to me.To doThere is a lot of stuff missing, and many corner cases that I don’t
handle. However, I don’t consider it dangerous to use vimp. In fact, I
feel it’s rather quite safe.Anyway, how much I will work on vimp depends on how many people can help
me with patches. Currently, it works pretty well for me.Most glaringly, I don’t have support for updating whatsoever.List of various todos:Add support for updating, upgradingDo not leave behind dependencies when uninstallingetc.BugsThere are many bugs. Please help me fix them!In particular, globbing for extracting files doesn’t work well.LicenseCopyright (C) 2014 Christian Stigen LarsenDistributed under the LGPL v2.1, LGPL 3.0, GPL 2.0 or GPL 3.0.