My Journey From QWERTY to Norman and Back: A Vim User's Tale

As a programmer and avid typist, I’m constantly on the lookout for ways to improve my typing experience. In my quest for a more efficient keyboard layout, I decided to embark on a journey to switch from the traditional QWERTY layout to the Norman layout, only to find myself back at QWERTY due to some unforeseen difficulties with Vim. In this blog post, I’ll share my experiences, the pros and cons of each layout, and what I learned along the way.

Introduction

For many, many years, I have been intrigued by alternative keyboard layouts. I always wondered whether they brought value to day-to-day work as a software engineer. Quite early in my career, I bumped into people using Dvorak and Colemak. I wanted to find out for myself, but the idea of learning, and thus struggling to type quickly for some time, would always put me off, so I kept postponing the decision to switch.

Things changed drastically when I decided to change my standard keyboard to the more ergonomic ErgoDox EZ and eventually the Moonlander with sculpted blank keycaps. Given the slight difference in keyboard layout, such as the ortho-linear key layout, the thumb cluster, the default position of the Command, Backspace or Delete keys meant that there was a time in which my typing speed was impacted negatively.

I challenged myself to keep practising daily on websites such as ZSA’s own Train, Monkeytype or Keybr. After a good month or two, I was back at ~80 words per minute. Life was glorious again!

The whole process made me realise that however painful the initial period was, I was able to overcome it and eventually become as productive as before. It also felt satisfying to combat old habits.

The Allure of the Norman Layout

The QWERTY keyboard layout, created in the late 19th century, is widely used today despite its somewhat inefficient design. In search of a better alternative, I came across the Norman layout, created by David Norman in 2012. The layout claims to offer a more efficient typing experience by placing the most frequently used keys on the home row and minimizing finger movement.

I picked this particular layout because it’s not too far off from QWERTY while still bringing the benefits of an optimised typing experience on the home row. Maintaining the Cmd+Z,X,C,V key combinations was particularly important, as I felt hunting for those during the learning period would be just a bit too much. Plus Aaron Patterson uses it, so it must be good, right?!

The Transition

Going with Norman, as a Vim user, I knew that the standard normal mode navigation keys would be in entirely different positions. This was far from perfect, but it encouraged me to continue learning.

Fast-forward 2-3 months, it finally felt natural typing prose using Norman. I enjoyed how balanced typing felt and how little my fingers had to move away from the home row to type many words. Looking at the statistics, my typing speed has not improved. It did feel more effortless, though.

The Vim Dilemma

As a programmer, I rely heavily on the Vim text editor for coding and editing text. Vim is known for its powerful and efficient keyboard-driven interface, which allows users to navigate and manipulate text quickly without using a mouse. However, Vim’s keybindings are designed with the QWERTY layout in mind. When I switched to the Norman layout, I quickly realized that many of Vim’s most essential commands were no longer easily accessible.

The habit of navigating Vim using the hjkl keys on a standard QWERTY keyboard is inherently tied to the whole editing experience. While I was able to navigate when using Norman, it would never feel as natural as on QWERTY. This bugged me a lot.

Things got even more annoying when I had to detach my MacBook from the external keyboard and use it on the go. I would typically use QWERTY in this configuration and noticed that I could not touch-type any more. I had to stare at the keyboard to fish some of the keys. I was stuck with this scenario for a few months, as I wanted to see if things would improve.

Unfortunately, they did not. I missed the natural navigation in Vim. Some people suggested remapping the navigation keys to bring them back to the home row, but that idea did not feel attractive to me, given the occasional switch to QWERTY.

It became increasingly evident that the Norman layout was not a viable option for my workflow as a Vim user. With a heavy heart, I decided to switch back to the QWERTY layout.

Returning to QWERTY

Switching back to QWERTY was a surprisingly smooth process. My muscle memory from years of using the QWERTY layout quickly returned, and I was back to my normal typing speed within a few days. While I missed the ergonomic benefits of the Norman layout, I was relieved to have the full power of Vim at my fingertips again.

Lessons Learned

My journey from QWERTY to Norman and back taught me a few valuable lessons:

Conclusion

Although my journey from QWERTY to Norman and back didn’t end in a permanent switch, it was an enlightening experience. I have a newfound appreciation for the importance of keyboard layouts and their impact on my daily life as a programmer. While the Norman layout wasn’t the right fit for my Vim-centric workflow, it may be the perfect solution for someone else. Don’t be afraid to experiment and find the layout that works best for you.

Last modified: 17-Dec-24