My Journey Into Vim - Part 1

Vim has been around for a while... I mean it's been around since 1991, and there is a huge community of developers that sing it's praises despite having IDE's like VS code, IntelliJ IDEA, and NetBeans.
Even when new technology comes around, they always seem to stick to their current toolset.
You could argue that they are stuck in their ways and refuse to see change, but I have seen developers try out Vim only to have it become their main or at least an integral part of their coding career.
But Why Vim?
Vim looks ancient at first glance. Its command line interface doesn't really give people the best of hope when it comes to being productive or even having a good experience just trying to open up a file.
There are even numerous reviews from developers that state it's nearly impossible to use as there is a learning "wall" instead of a curve, and don't even get them started on how to exit the program!
Vim is not an easy software.
So why use Vim?
Look Ma! No mouse!
Vim shines for several reasons, but the most prominent is that you don't use a mouse to navigate at all. Because its purpose was for being used in the command line, you don't have the luxury (or the setback) of having to switch from keyboard to mouse and back.
No longer being tied to a mouse allows you to keep your hands on a keyboard! You can navigate all throughout your code without the need to move your hands.
Several notable features that I would be ashamed to leave unmentioned is the shortcuts, plugins, its configurability, and free. You really get to tailor it to whatever your needs are and can take that configured file with you wherever you go.
What got me interested in trying Vim?
The selling point for me to at least give it a shot was when I saw a video of Jameson Saunders do a comparison between vim and a mouse with keyboard.
I'm sure every person who uses Vim on a daily basis has at least some bias towards its effectiveness, but I'm still surprised that it's even comparable if not a little faster than using a mouse for navigation.
My biggest reason for wanting to try and learn Vim was that I mostly use a laptop for a lot of my daily work and the touchpad is not exactly the most efficient way to move around. I was attracted to the idea that I could move around as much and potentially faster without it.
How do you get started?
I won't get into the details on how to teach, because I think there are several other great resources that would teach you way better than I could (After all, I'm still learning!).
Learn Vim For the Last Time is such a huge tutorial that you'll reference this one over and over again. I'm still looking over this article to glean more information on.
You can also use OpenVim to have a really good visual as you learn.
I wouldn't encourage you to jump right into Vim for your daily driver just yet as you are still learning the basics. Especially if coding is your job and it is needed for you to perform at a certain speed. But there is another way where you can practice a lot of the basic functionality without having to sacrifice too much time.
Note Taking
Vim is mostly used for coding, yes, but it also doubles greatly as a note taking software. I'd suggest creating a folder and putting all of your notes in there. If you want to take it even further, I'd recommend following the bullet journaling method for your every day coding notes.
If you don't want to use vim for note taking, but would like to adopt its practices with a clean UI, you'll love trying out Obsidian. This allows you to use Vim but also opt out very quickly if you decide it doesn't fit your style. Obsidian also supports markdown which makes for a quick and clean note taking experience.
I am currently using Obsidian for my daily note taking, but am considering to switch over to the classic Vim for better practice.
Closing Thoughts
So far, I'm really enjoying it. I have progressed to using it in VSCode when I'm working on personal projects so as to get my mindset thinking more like Vim.
My next challenge is to find a couple things that Vim can offer every week and try to apply those in my daily coding. I don't have the luxury of being able to apply it in my professional life, but I'm planning on developing my Vim skills in the long run.
Essentially, I've found to think of it like a language. 'r' for replace, 'c' for change, 'w' for word, and so on. It definitely feels unique and out of the norm when it comes to coding, but I think it's going to stick around in my life for a bit if not full time.
If you have any questions or suggestions, please comment below! I'd love to hear your thoughts!