Published: February 23, 2022 • 2 min read
I’ve been using, teaching, and stanning Vim since almost the beginning of my programming career. Yet, when asked to explain this preference, I stumble. In this post, I’d like to explore why I love Vim.
The disclaimer is that I haven’t used every text editor that has ever existed. I haven’t used Emacs or some of the GUI editors that have come and gone over the years. I’m not arguing that Vim is better than any of these. In particular, VSCode in Vim mode seems to rival Vim in some ways.
So, why Vim?
I love the terminal basis. Yes, this argument applies to any terminal-based editor. Editing in a terminal is satisfying to me. We programmers tend to live near the terminal, and I find living there to be a flow-state machine. With tmux, you can make any world you want. With dotfiles, you can customize your world. The power of the terminal at your fingertips. Terminal is sublime.
I love the composability. Want to delete the next four words?
delete four words. Vim is gamified. When I meet other Vim users I’m always
learning something new. You can learn from anybody.
I love the modality. Bill Joy’s killer insight with vi was that we spend more of our time reading and editing existing code rather than writing new code, and that is why Vim defaults to the read/edit mode, normal mode, rather than insert mode. Slicing the experience into modes where keys have different jobs was genius.
I love that it’s old and open-source. It isn’t going anywhere, thanks to a passionate community watching its general direction. Many popular text editors didn’t exist ten years ago, but Vim did and it’s mostly the same. Vim is like SQL: as timeless an investment as we get in technology.
I love the community. Devs around the world and across generations use Vim. The learning curve is steep enough that when you meet a Vim expert, there’s a kinship because you know they’ve spent years hammering at the terminal.
Are Vim users fast? Sure. But I think this is one of the weaker arguments for Vim, because you can be fast at almost any text editor. Expert Sublime Text users can be just as fast as Vim users. Speed comes from years of incremental improvements.
I hope everyone can find an editor they love as much as I love Vim.
✉️ Get better at programming by learning with me. Subscribe to Jake Worth's Newsletter for bi-weekly ideas, creations, and curated resources from across the world of programming. Join me today!
Blog of Jake Worth, software engineer in Maine.