Editor Wars: Why emacs and vi present a steep learning curve

Ever wonder if there was a historic reason why emacs and vi cause the brains of most beginners to melt?

emacs and vi were used on machines that had different keyboard layouts than the modern IBM design on all our recent computers.

The keyboard used by the designers of emacs had meta (outside of ctrl), rather than the painful alt (inside of ctrl). Most emacs users rebind ctrl to caps lock nowadays, it’s way easier on your fingers and wrists. Also the math symbols were used to type APL, a programming language based on math symbols:

The keyboard used by the designer of vi had Esc next to Q and arrows printed on hjkl:

Both have an arcane learning curve. But once you went through the struggle to learn they are far superior to any modern input system. Most people are also unlikely to switch between the 2 once they mastered one of them (the learning curve might be main reason) which has led to users of the 2 camps becoming quite activist when it comes to defending the superiority of their chosen environment.

Main reason I prefer vi is probably that it took me ages to master it and even after 18 years I still pick up new tricks from people across the web. Also by the time my colleagues were still configuring their “perfect keyboard bindings”, us vi users have pushed the code to production and are on the way to the pub where we celebrate by singing vi songs 🙂

Valbonne Consulting provides Research & Consulting for emerging technologies in Internet/Web of Things (WoT/IoT/M2M) and Emerging-Tech. We specialise in decentralisation, security and privacy. We work across a variety of traditional industry verticals (Telecommunications, Automotive, Energy, ...). We support Open Source and technologies built on open standards.

Joachim Bauernberger
Passionate about Open Source, GNU/Linux and Security since 1996. I write about future technology and how to make R&D faster. Expatriate, Entrepreneur, Adventurer and Foodie, currently living near Nice, France.

Leave a Reply

Your email address will not be published. Required fields are marked *