Loading...

Daily Practice

March 29, 2024
3 minutes to read
Share this post:

Hi,

Have you ever tried closing vim?

A meme about exiting vim

You probably know the meme. Even after decades, I still find it funny 😁

But what I haven’t managed to do in all these years is to seriously learn how to use vim. Sure, I press i to enter insert mode and then I can type. And I’ve also learned dd to delete a line. And yes, of course, I was one of the three million viewers who were helped by Stack Overflow to close vim 😉

What else? Not much, really. I never took the time to really understand and learn vim motions.

But who among us learns this in school? Or in university? Or in training?

It’s initially unnatural. All kinds of hotkeys that can jump to different parts of the text with various semantics.

  • h, j, k, l - instead of the arrow keys (by the way, the ADM-3A is to blame )
  • w - to jump to the next word
  • ^d - to scroll half a page down
  • gg - to jump to the beginning of the file

Now, a vim cheat sheet is stuck on the wall next to my screen.

My cheat-sheet for vim commands

Deliberate learning is important!

As software developers, we don’t work with wood or with hammer and chisel. Our tool is the keyboard. Our material is text files. Our techniques are programming languages.

All these things need to be learned and practiced.

In professional sports, this is natural. All athletes train every day. Training sessions are consciously developed to improve individual aspects of one’s performance.

And we only achieve perfection with deliberate practice. We have to practice. Every day.

In recent years, I have consciously practiced touch typing, using the English ANSI layout, and using IntelliJ without a mouse. And now it’s time for vim motions. It’s the next piece of the puzzle to work really efficiently. My focus should only be on the content. I don’t want to waste energy on other tasks.

And I can assure you that the effort is worth it.

Give it a try. You don’t yet type consistently with 10 fingers? Then go to keybr.com every day for 10 minutes. You contort your fingers on a German keyboard while programming? Then buy a cheap keyboard with the US layout and use it to write for half an hour every day.

And as a leader, you should encourage your team to practice deliberately. How about a regular coding dojo? It’s a wonderful opportunity to share such ideas for efficiency improvement.

, what do you do to increase your efficiency? I’m always looking for new ideas!

Rule the Backend,

~ Marcus

Top