Jake Worth

Jake Worth

Why Vim

Published: February 23, 2022 • Updated: January 02, 2023 2 min read

  • vim

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.

👉Disclaimer: 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?

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 committing to the terminal as a residence 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. It’s sublime.

I love the composability. Want to delete the next four words? d4w; 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.

I’ve argued that you should be fast. 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.

What are your thoughts on this? Let me know!

Join 100+ engineers who subscribe for advice, commentary, and technical deep-dives into the world of software.