How I Learn Vim

04/02/20191 Min Read — In DevTools, Vim

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:

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:

How to Do 90% of What Plugins Do (With Just Vim)

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.