Aaron Sumner

Learning Vim, one year later

A little more than ago, I wrote a post about the approach I was taking to learn Vim. At the time, my TextMate 2-to-Vim ratio across all projects was probably 7:3. Now, they’re just about flipped–there are still times when I reach for my old standby, but, increasingly, I’m opening Vim first. What helped me break through?

Continued practice: As mentioned a year ago, I (still) take a little time, every day, for deliberate practice in Vim (and other tools; more on that someday). When I know there must be a better way to do something, I look it up and either write it down or add it to my vimrc for future use. (Example: While writing this entry, I wondered about ways to show a word count on the current document. I found three.)

Continued customization: That blank vimrc file I started with still isn’t as large as that of a seasoned Vim user, but it’s got a lot more than it did this time last year. It’s a constant process. Some things stick, and some get deleted. I also experiment liberally with plugins like ctrlp, vim-bundler, and vim-rails. Vim’s been around a long time, and if there’s something you want to tweak, chances are somebody’s already tweaked it. It’s up to you to pick and choose and cobble into your own functioning setup. A tip: Document your vimrc file as you go, at least in the early going. Among other things, this has helped me as I tinker with my status line–each section is commented so I can remember what it does and, sometimes, where I learned the technique.

Continued learning: I’ve learned the most by pairing with other Vim users and asking them how they do certain things. I also got a lot out of Mastering Vim by Damian Conway (published by O’Reilly Media, my employer). The Vim Tips Wiki is so indispensable that I created a custom Alfred search for it. Finally, thoughtbot regularly shares vim tips particularly germane to my own work.

Learning vim, like learning just about anything else, is knowing what you don’t know–and then, knowing the right places to look for answers. From there, it just takes some persistence to stick with it and keep getting better. Good luck!

. Questions or comments? Let me know what you think.