How I learned Touch Typing & Vim?
Tags: productivity, vim, learning
Published: 2024-02-06 16:45:17

As a software engineer, I am always looking to learn things that help me be more efficient. For me, coding is not just a career choice but something I love doing beyond my professional life. That's why I naturally want to gain new skills, even if they aren't always tangible.

While I was a CS undergrad, I started using Linux as my main operating system. It taught me a lot about OS, networking, and how things work under the hood in computers. I had long wanted to learn Vim, and in the past few months, I finally started. For software engineers, efficient text editing and navigation can make an enormous difference in productivity. Yet many fail to build these critical skills. Learning Vim has been a game-changer for me.

## Conquering Touch Typing
While reading about optimizing Vim, I got a lot of advice about learning to touch type. So I started there too.

Like most new skills, it was tough at first. I couldn't type without looking at the keys, and I still made mistakes frequently. I used typingclub.com to learn, an excellent platform for beginners. 

I began doing the typing lessons for 15-20 minutes daily. These interactive lessons guide you on proper hand and finger placement, testing you on common word patterns. At first, I had to actively think through where each finger should go, rather than letting muscle memory take over.

Staying dedicated was challenging. My coding efficiency dropped noticeably as I found myself distracted, thinking constantly about finger positions while programming. Some days when facing a deadline or difficult problem, I would revert to hunting and pecking.

But I forced myself to persevere I would use touch typing even if it slowed me down. Within a couple of weeks, what was initially so foreign started to get hardwired. My pace and accuracy improved.

The breakthrough finally happened when touch typing patterns sunk into muscle memory. No longer did I waste mental energy thinking about finger placements; I could just type fluidly while staying focused on coding tasks.

Touch typing mastery remains an ongoing journey. However crossing that initial learning curve has paid dividends through heightened speed, accuracy, and concentration. "Practice makes perfect".

## Mastering Vim Motions and Modes
For Vim, I watched YouTube tutorials on everything from setup to advanced functionality like macros and split windows. The Vim As Your Editor series by The Primeagen is fantastic.

I didn't plunge straight into Vim though. With VSCode, I installed a Vim emulator plugin to gently integrate the motions while keeping my editor familiar. Over the weeks, I gradually layered more complexity.

_I admit - I finally learned to exit Vim_! But LLMs accelerated my learning curve when stuck. Initially, I would only use Vim motions for non-critical work until building intuition.

You needn't learn touch typing before Vim or vice versa. I recommend picking up both in parallel.

I haven't fully mastered either skill yet, but I'm happy with my progress so far. It's an ongoing journey, but being persistent is key to maximizing coding efficiency over the long term.