Late last year, I finally made the effort to learn that other text editor, vim.
I knew the basics of emacs from school, and I had always relied on simple, graphical text editors like Textmate and domain-specific IDEs along the lines of Visual Studio and RubyMine. At Square, however, my team has made vim the preferred editor, and I have honestly been impressed with the simple efficiency of our vim hipster contingency.
Nowadays I’ve found a happy compromise1 – Sublime Text 2, with basic vim commands via the built-in Vintage mode. Having the ability to fall back to ingrained OSX movement commands (via the ⌘ and ⌥ keys) has been a great transitional tool.
In any case, I’ve been bookmarking resources for learning vim as I’ve come across them:
- VIM Adventures; learn how to navigate with vim by playing a game.
- Vim tutorals; a ton of in-depth screencasts.
- Vim cheatsheets (a), (b) and (c); quick references to some common and uncommon commands. Everybody seems to learn something new when looking through these.
- Learn to speak vim; understand the philosophy behind vim commands.
- A Starting Guide to VIM from Textmate; specifically going to MacVim, somewhat biased to the author’s aesthetic tastes, but I approve of any attempts to make vim prettier.
- Learn Vim Progressively; another step-by-step tutorial on vim commands.
- VIM for (PHP) Programmers; despite the title, a pretty thorough walkthrough of all VIM has to offer.
Happy vim’ing!
Happy to me anyway; Brian says Sublime’s vim bindings are the text-editing equivalent of the uncanny valley.↩