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.

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 and I welcome any feedback, contributions or questions you might have.


Now read this

From zero to a Swift(y) hero

I’ve wanted to learn how to build iOS applications for quite some time. Unfortunately, Objective-C never compelled me and I’ve used this as an excuse not to start. Apple introduced a new programming language little over a year ago,... Continue →