It's easy to get good at vim.
A lot of developers avoid trying vim because of the learning curve.
The good news is learning vim is just an exercise in muscle memory.
When I started learning vim, I had no idea where to start. It was a frustrating process. I tried all sorts of things to get better, but nothing worked.
- I read documentation
- I read blog posts
- I watched videos
The problem is that learning vim isn’t like learning a new framework or language. The approaches above don’t work because they’re targeting the wrong skillset. They teach you about vim, but they don’t increase the amount of time that you’re actually using vim.
It’s like when you learned to type.
You don’t get better at typing by reading about it. You get better by sitting down and actually typing. The same is true for vim.
The way I started practicing using vim was with vimtutor.
Vimtutor is a small application that gets installed with vim. If you have vim, trying typing
vimtutor in your terminal to bring it up. The nice thing about vimtutor is that it teaches you about vim while you’re using it.
I spent a week speed running vimtutor on a daily basis. At the beginning I sucked. But I kept working at it. Towards the end of the week, I got more comfortable and faster using vim. I wasn't perfect, but using vim was starting to become fun.
Once I was comfortable with vim, I switched to using it for my regular coding. It still felt awkward at first and I was still messing up on basic things. But I had a much stronger foundation.
Transitioning to using (neo)vim as my daily driver was easier.