I’m learning Vim

For years all I knew to do in Vim was enter insert mode, save my work, and quit. I rarely used it, and so I wasted little effort trying to learn more commands. However, having recently stumbled into a learning mood, I’ve activated Vim mode in the tools I use most often, printed out several cheat sheets, and am presently writing this in Vim itself.

I told a friend and he asked, “why?” An unexpected question. I hadn’t bothered to articulate the reasons, not even to myself. Here’s what I’ve since come up with.

I’ve always found that learning shortcuts in any application that I use frequently increases my productivity quite a bit. Vim has the most complete set of shortcuts I’ve ever seen. It turns your entire keyboard into a powerful command center for editing.

Because Vim is ancient and popular its interface has been ported to a lot of other tools. This means I’m able to leverage the same commands in my terminal (Zsh) and my IDE (IntelliJ), which covers most of my workflow.

I’m still learning a lot—I’ve only been at it for a few days—but the practice has so far confirmed my expectations: that it’s a really cool and powerful system. Quite possibly the optimal way to edit text, if one is willing to learn.

To do so I recommend going through vimtutor, and printing out this cheat sheet. From there, practice makes the master.