Many will argue that Vi/Vim is an extremely old editor with no benefits to development whatsoever. I won’t get into that, the web is full of articles and/or rants in favor/against vi.
My personal take on the matter is that I HAD to learn about it (because you can’t really learn everything) so I can decide if it’s usefull or not. And it took me 4 tries. The learning curve is extreme, I can’t remember anything being harder to learn. Not because of the system itself, but because it is against everything I’ve learned so far in terms of editing. You cannot just start typing. Or... you can, but the results will be nothing you would expect.
The main issue with learning vim is that there are sooo many shortcuts to remember. This is why I needed 4 tries to get vim working. On my last try, I decided that the huge amount of shortcuts can wait; first I need to learn the basics (like moving around) and then incrementally add 3-4 shortcuts/week so they can be ‘stored’ in muscle memory.
Then, after I was comfortable enough moving around, I started google-ing for various vim commands, depending on the situation I was in. For example, since I have Caps Lock mapped to Escape (for easier switch to normal mode – again, personal preference), I had to learn how to capitalize text. I’ll add the shortcuts in the motions article.
One thing I should mention… this is not really an article about Vim. You won’t find .vimrc configs in here. I did configure Vim awhile ago, but I didn’t use it in the end. In here, we’ll talk about Vim main features and how I use it in my favorite IDEs.