Why Vim

Published Sun Jan 14 2024

Vim (and now Neovim) has long been one of my favorite programs, I believe my choice to use and stick with it has made me a better programmer. Like many vimmers, I see it as life changing and think everybody should try it.

First Encounter

My first encounter with Vim was in an Intro to Linux class at my local community college. For tests we were required to edit a plain text file to add our answers using Vim. Every test we used Vim, and every test we required a physical cheatsheet to use it. I left that class not knowing how to use Vim with no intention of trying again.

Later I enrolled for Turing’s front-end development curriculum. While doing pre-work for my course an article linked to extra resources we could explore and Vim was listed. I was curious why a programmer would use this so I began reading. I realized a keyboard-centric workflow would benefit me in many ways. Vim is a choice for more just an editor, I was choosing to do my learning and work in a text based environment where understanding is not optional.

The Hard Way

Learning web development alongside Vim was very difficult at times. I had no error hints, tab completion, or formatter. When I wrote code I typed out every character by hand. If I couldn’t find a syntax error at times I would re-type the entire file until I found my mistake. Many struggles could have been avoided by downloading a more friendly editor with guard rails. However, it was through these added difficulties that I was forced to build a deeper understanding of my language and tools.

When you work with text interfaces you have to read much more. Through this you build an understanding of the same interface you can later write scripts with. Your understanding can be codified in scripts. Being in the terminal made me familiar with documentation and error messages early.

Growth

As you develop your muscle memory of the keymap you will quickly start to build momentum until editing any other way is a chore. A little dedication and vimtutor will take you as far as you want. Since it is extendable with code your set up can grow with your skills and needs. In a time where easy to use GUIs are everywhere, be intentional and choose text. Vim is here to stay and I plan to grow alongside it.