Airbnb and RV, Vim and Emac (and how to vim)
In a four-week road trip, Vim users live in fancy Airbnbs and swap out rental cars, while emac users hold on to their massive RVs.
The first time you opened vim, your grandma may have thought you were a hacker who had just forgotten how to use their keyboard. However, a few rounds of vim-adventure later, you will again learn to code for fun, and not the money for your next mechanical keyboard.
Traversal of confusing, poorly formatted code your departing coworker left you suddenly takes on a new purpose — one that is fulfilled with a daily reflection of the optimality of your vimrc setup, the burst of joy when you figured out how to move from point A to point B with one less key stroke, and soon, a three-dimensional relationship with the flickering text in front of you, thanks to the normal, insert, and command modes vim offers.
While emac users try to do everything (coding, to-dos, browsing, etc.) in the same app (the RV way), vim users often move around editors and servers with slightly different variations of the configuration (the Airbnb way). While it’s convenient to carry the .vimrc file around such that the experiences feel familiar everywhere, an alternative that I’ve settled with is to live in vscode, which has a wonderful default vimrc.
Taking baby steps in Vim
Vim has a steep learning curve, but many online resources like vim-adventure make it easier (more games). Navigation without leaving the keyboard home row is a key advantage over the traditional mouse movements, but for me, it was also the hardest muscle memory to grow. Constant exposure was a better teacher than closely following a tutorial, so I found all editors with vim baked in, and turned them on. Then, I installed vimium on Chrome to help me navigate websites the vim way. Pretty soon, I found myself comfortable with all the baseline navigation approaches.
Once you are familiar with navigation, everything presented less barrier and urgency. From there, I learned a few more things in no particular order — copy/paste in vim, visual mode, repeating the same action with the period key, change text with “c”, vim surround, and vim macros.
Graduating out of the editors
The joy of vim does not have to end when you leave your editor. If you are a mac user like I am, the following list of tools should allow you to use vim anywhere on your computer. Windows and Linux alternatives exist as well.