Vim plugin manager (vpm)
Two years ago I wrote a simple command line tool called vpm. A standalone plugin manager for Vim that was not integrated with the editor itself. It was created because I’m a strong believer in the Unix philosophy of doing one thing and do it well.
At the time, some really great alternatives already existed such as VAM, Vundle and others. The problem I had with these was that they all followed the same pattern: built as a plugin, used within the editor itself and written in VimScript. I didn’t want that. I wanted a standalone tool, like npm, that handled installing, updating and removing plugins for me. Bootstrapping plugins should still be done by the editor and so I went with Pathogen.
I’m still using vpm on a daily basis but I’ve also realized a couple of things since I first built it.
- I wrote it in shell script (read: bash)
- I was bad at updating vpm with new features (see above)
- vpm was not cross-platform and so it left out a lot of users
A few of days ago I was doing some pair programming with Samnang Chhun and we decided to port vpm to another language. We chose Go. Neither of us had any prior experience with the language but we both found it intriguing to start exploring the realm of Go.
Today I’m more excited than ever to make vpm a lightweight and powerful alternative to already well-known plugin managers. The Go-version can be found at https://github.com/KevinSjoberg/vpm/tree/vpm-go and I welcome any feedback, contributions or questions you might have.