Learning vim

January 28, 2014

I've spent the last 6 months all-in with vim. At Chargify, we use vim when doing remote pairing, so it's been necessary to get up to speed for that reason alone. To shorten the learning curve I uninstalled TextMate on my personal laptop and have been using vim for all TalentSoup development as well. My vim knowledge was basic when I joined Chargify, and while I am far from expert at this point, I am productive and learning more each day.

Given the experience of needing to go from 0 to productive in a short period, I'd offer that the best way to learn vim is with someone else. Whether you use someone's dotfiles (I use a fork of my colleague Jeremy Rowe's dotfiles) or not is a secondary concern. Nothing will speed up your vim education like having someone watch you attempt to do something, and suggest another, more efficient way. A great set of dotfiles is super helpful, but more important is that you have someone offering guidance.

More and more I am becoming convinced that the pairing model is the best way to get better at software development. If you can find someone to be a mentor to you, you're in a great spot.

P.S. - If you can't find someone to pair with to learn vim, I recommend watching the Destroy All Software screencasts. You'll see Gary do a lot of crazy things, which will lead you to ask "how did he do [X]", which will start you on the right path.