Just today, I read an article Getting Productive with Vin in a Week without Hating It. Kudos to the author, Nick Janetakis, for coming up with a great title.
The article chronicles Nick's journey of learning to use Vim.
My experience mirrors his.
I'm also the type of person who enjoys jumping into new things.
When I decided to switch to Colemak instead of classic QUERTZ/QUERTY keybindings, I went cold-turkey. That was painful for a while, but I've now totally retrained my muscle memory.
With Vim, it was similar although a bit more involved.
How to Get Started 🔗︎
I started with Vimtutor, the interactive tutorial that comes with Vim. This gives you a basic overview and I would recommend it as a first step.
Parallel to using Vim and VS Code with Vim keybindings, I did a lot of research. Here are some useful resources:
- How To Learn Vim: A Four Week Plan
- Thoughtbot Upcase Vim Tutorials
- Learning Vim for Beginners
- Boost Your Coding Fu with VSCode and Vim
Pain points popped up now and then (for example, how do I save a file in Vim?). That was always a great opportunity to learn something new.
Useful Plugins 🔗︎
I started with no almost no plugins and then incrementally added useful ones.
My initial configuration came from this talk on YouTube which is a must see:
That said, some plugins are insanely helpful.
Check out Vim Plugins I Like for a great range of good choices.
Don't add all of them at once. In fact, pick and choose and see which ones you really need.
Just Use Vim 🔗︎
In the end, you actually have to use Vim.
Give it a try for a few weeks and see if you like it.
I didn't believe the hardcore Vimmers that recommended to unbind arrow keys to have a “pure” Vim experience. After all, learning Vim involves a lot of unlearning and doing new things, I don't want to make it more painful than it already is.
Like with everything, doing something new is a bit uncomfortable, but it's definitely worth it.
I've gotten used to how Vim works and I enjoy its powerful capacities. I'm (subjectively) more productive in Vim now than I was in VS Code.