Learning Vim
In a time when there's a lot of modern, feature-rich text editors like Visual Studio Code, Sublime, and Atom, why would someone invest time to learn and use Vim? Aside from Vim's notoriously known steep learning curve, my current text editor of choice is doing the job just fine. So why go over the other side of the fence?
This has always been what kept me away from interacting with this text editor.
That is until a week ago, I was watching a video on some niche Python topic and I saw this guy with just a few keystrokes, deleted texts inside a parenthesis! That's all it took to pique my interest. I immediately thought to myself – I need to learn this. Say goodbye to the mouse.
Vimtutor is your best friend
There's a lot of Vim tutorials out there but most of them goes Super Saiyan too soon. This is why vimtutor has been great for me. It's not a comprehensive vim reference by any stretch but it's enough to get you started. It will walk you through fundamental vim commands and features by doing several activities.
For Mac and Linux, you just need to type "vimtutor" in the terminal. It will take approximately 30-45 minutes to complete the whole tutorial depending on how much experimentation you will do.
Do not use it at work (just yet)
A lot of people gives up on Vim because they incorporate it to their workflow too soon. Understandably so, because it can be extremely frustrating if you still don't know how to perform simple tasks like copy and paste, and you're on the clock doing some bug fix.
There's a multitude of Vim commands and you're not doing yourself any favor by trying to memorize each one. I realized that to learn it, one must really learn by usage. And to do that, I started to exclusively use Vim when working on my personal projects.
We're talking about practice
The big promise of using Vim is that its steep learning curve will pay out at the end. But things can be frustrating at times that I instinctively just want to grab the mouse, use my current editor and just do it the way I'm used to.
Like with a lot of things, the best way to get better is to do it consistently for a long period of time. It may or may not improve my workflow but the only way to find out is to stick with it and see it through.