The Unspoken Prerequisite for Learning Vim
When I first heard about Vim, it sounded amazing. I immediately wanted to start learning how to use it. However, my enthusiasm dropped off a cliff when I realised that the learning curve was an equally sheer cliff. Modal editing; HJKL keys for navigation; ESC doesn’t exit the application — this all seemed rather ridiculous to me at the time. I was young and inexperienced, and the commands seemed too unintuitive for me to bother memorising them.
So I gave up, believing I’d just have to do without it.
About a year after the fact, in a separate effort to improve my productivity, I decided to teach myself how to touch type. I had seen a colleague copy the contents from a book onto their laptop, typing entire pages as they read them without once looking up. Not that anyone has to do that very often, but I wanted to be able to do that myself. About a month later, I could type at my usual speed but now without looking at the keyboard. And not much later, I could type much faster. This skill has paid off in small but noticeable ways over the years.
Not long after that, I ended up switching jobs, and at the new place, I regularly had to ssh into servers where Vim was the only text editor installed, and installing anything else was just a pain. So I resolved to give Vim one more try, since I was going have to deal with it on a regular basis.
This time around, I managed to get to a surprisingly productive state with Vim in no more than a day. It was as if something had just clicked, and everything just made intuitive sense to me. I was shocked at the stark contrast between my first and second attempts. Giving it some thought, I realised that the only difference was that I had learnt touch typing. The reason everything suddenly made sense to me was because all the commands had been chosen based on what would make sense from a touch-typing perspective. Using the HJKL keys for navigation is the most clear example of this.
It seems rather obvious from a touch-typist’s viewpoint. However, having been at that point where I didn’t know how to touch type, I can understand that for some people the commands may just seem bizarre, to say the least.
So here is some advice that I have never heard or seen when the topic of Vim comes up: if you are learning Vim and just can’t seem to get it, first learn touch typing. It will make all the difference.