kkkjjkjkkk

One Year of Learning Vim

Ayden Diel, Sept 1, 2024

exiting vim: very challenging

This month marks one year of using Vim for me. Realizing that it’s been an entire year put two things into perspective:

  1. How much of a nerd I am, and
  2. How essential Vim motions and Neovim have become to my workflow.

This post aims to highlight the immediate benefits of learning something like Vim (or Emacs, ew), some of the very minor pitfalls that I’ve experienced, and some indirect things that I’ve gained.

How & Why I Started

Let’s get this out of the way: I first heard about Vim from ThePrimeagen. I thought it was cool how fast he coded, okay? Don’t bully me. Other than just seeing that Vim makes you faster, I was really sold on the portability of Vim motions and the cool open-source ecosystem of Neovim.

At the beginning, I did not dive directly into using Neovim. I started by testing the waters with the VSCode Vim extension to get a handle on Vim motions. I actually think that this was a good choice and would recommend it to anyone currently using VSCode who is curious about Vim.

The Good

I can say confidently that any hype that Vim gets is totally deserved. It’s been so much fun discovering the many features that it comes with. The feeling of finding a set of keystrokes that do something that I didn’t even know I wanted to be able to do makes my brain very happy.

To anyone starting out, I would not recommend trying to actively study and learn everything at once. Take it at your own pace, and let yourself naturally adopt the features. Go through vimtutor, get a general idea of what’s possible, and then spend some time doing your work with Vim. I got pretty good mileage doing this and just Googling my way through any problems that came up.

The Bad

The experience of using Vim is pretty good. Unless you’re really into VSCode’s multi-cursor feature, which is a pain in the ass/impossible to set up, you won’t really be missing out on anything feature-wise.

That said, one thing that I have noticed is that you will stand out at most workplaces if you use anything Vim-related. You might be the kind of person that doesn’t mind it, but it definitely has the potential to make you look pretentious, so beware. It’s not going to magically make you a better programmer, just save you time editing text.

The Nice

More than just editing text faster, the best thing about learning Vim for me has been that it’s forced me to deep dive into how computers work. I’ve been coding since I was 12, but getting into these terminal-based text editors really pushed me to learn about the Linux terminal. I got so used to my nice, padded VSCode environment that I never really took the time to learn what was going on behind the scenes.

Unix utils like grep, jq, curl, wget, the git CLI, and more are now essential to my workflows. Vim’s really opened my eyes to how powerful the terminal is, which I’m very grateful for.

Conclusion

Overall, getting into Vim has been awesome. It’s made programming so much more fun, and I couldn’t see myself ever going back! I think that anyone who’s even a little bit curious about it should give it a go, especially if you’re used to padded IDE environments like I was when I started out :-)

Also, rest in peace to Vim’s original creator Bram Moolenaar, who sadly passed away in August 2023. His software has made my work so much more fun, and I am very grateful for his work.

:q!