vim-flavor, a tool to manage your favorite Vim plugins

2012-03-27T01:39:33+09:00 / tag:vim, tag:release / Comments

I released vim-flavor, a tool to manage your favorite Vim plugins. See the README for typical usage.

I know that there are several implementations for the same purpose and many users love them, but all of them do not meet my taste. That’s why I wrote vim-flavor. The philosofy on vim-flavor is as follows:

Whole configuration including versions of plugins should be under a version control system. All of existing implementations do not manage versions of plugins. This means that it’s not possible to use the same configuration across multiple environments (the only one exception is using pathogen with Git submodules, but you’ll find it’s painful to manually manage many plugins).

There should be a standard way to describe proper dependencies of plugins to install dependencies without explicit declarations. Most of existing implementations do not resolve dependencies automatically (the only one exception is vim-addon-manager, but it doesn’t take care about required versions). The configuration file formats of vim-flavor are also used to describe dependencies of plugins with required versions. This means that vim-flavor installs plugins and their dependencies automatically (unfortunately this feature is not implemented yet, but it’ll be available soon).

Any software should have enough and reproducable test cases. But existing implementations such as vundle and neobundle are not developed so. It’s horrible for me.

Installation steps should be small, be reproducable, and not affect existing envinronment as less as possible. Most of existing implementations require to manually tweak ~/.vim etc. It’s painful to set up such stuffs manually because a vimfiles path is varied on each platform.

Finally, a tool and files deployed by the tool should be uninstalled easily. Vimana does not meet this because it directly puts files into ~/.vim/colors etc and it doesn’t provide uninstall command.