In this article, I want to share my experience with VIM, how I got into it at first and my motivation to learn it. Sometimes when people find out that I'm using VIM they get curious and ask me how it is, and if it has made me more productive as a developer, which I also want to clarify here.
How I got into VIM
Now how I got into VIM may not be the way others got into VIM. It is a bit funny because I was watching George Hotz's coding streams on Youtube and realized that he is using something else for his workflow, that allows him to navigate via the keyboard easily, and obviously he codes mad fast, which looks really cool and made me interested in knowing what it is. I later found out that he was using VIM.
Now, there is VIM, Neovim, and probably a bunch of other shit, but I personally use VS Code and the VIM extension, so sort of VS Code and VIM mixed you can say.
Learning curve
VIM does have a learning curve, and there are lots of things you can do in VIM, different commands, and there is a way of thinking in VIM you could say even. The thing with VIM is that you get quite fast after a while of using it, so it is a process sadly, which means in the beginning you will likely be slower when using it, it took me about 2 months to reach a speed where learning VIM had paid off.
Productivity
Now, does VIM make you more productive is a question, more productive as a developer? The answer is no because being a productive developer isn't just about coding fast..
Here is the thing, with VIM you will learn how to code fast, but that won't make you write better code, improve the quality of your pull requests, make you understand stories faster, and what needs to be implemented codewise, etc.
Once you know the code to write, then VIM will help you write the code quickly, including moving code around and replacing things, and so on.
Should you learn VIM
The answer is simple, yes.
In all seriousness, it is totally up to you, but I do strongly advise giving it a shot.
I love VIM.