Emacs: Hello ergoemacs-mode Again

By Xah Lee. Date:

just tried ergoemacs-mode after a year hiatus, it just works!

short version: just go install it NOW. https://ergoemacs.github.io/

long rambling version:

since 2013 Jan, i got the Truly Ergonomic Keyboard (TEK). It's a great keyboard, but doesn't have 2 large Alt keys for thumbs, where my previous keyboard Microsoft Natural Ergonomic Keyboard 4000 does.

xah truly ergonomic keyboard 207 config 2013-10-01 -2
Truly Ergonomic Keyboard with my custom ergoemacs-xah layout.

This is about the same time Matthew L Fidler https://github.com/mattfidler did heavy contribution to ergoemacs-mode and became the leader.

Note: ergoemacs keybinding is designed for nice Alt key under thumb, preferably 2 of them.

with the TEK, i've tried to set the 2 homerow outter keys for Alt. (that is, on a PC keyboard, roughly the position of the CapsLock and Enter). I did that for about 6 months, but eventually gave up. Because:

so, after 6 months, i stopped using this scheme.

Before this, i've also tried setting the big left space bar to be Alt. I did that for about 2 months in 2013 Jan, but also gave that up because i really want 2 Alt.

(Side keyboarding tip: one nice Alt key under thumb is better than 2 Alt keys for pinky.)

i've also tried to put Alt on the tiny key to the left of the space bar.

but basically, with TEK, it just doesn't have 2 big comfortable physical thumb keys for Alt, full stop. Remapping however you want, it doesn't solve the problem.

During this time, Matt is also doing heavy work on ergoemacs-mode. When you are the main author of some software, you have good control. Like cowboy coding, you do what you want, by your design and philosophy. But when co-author with someone, this is no longer true. Matt is doing heavy work, and i'm too busy worrying about my life and couldn't follow or discourse the many changes.

i myself have extensive key customization on top of ergoemacs-mode.

(side keyboarding tip: i have come to the conclusion, that it is impossible to have optimal key for personal use and for public. This was a major frustration in my keyword work, because i am constantly frustrated to maintain 2 sets of keys, one for public ergoemacs-mode, and on top for myself. I tried to figure out a way to eliminate this, but no, “opitmal efficiency” cannot be both for public use and for personal use. I've also tried to just stick with the public key set, which is very efficient design, but personal keys makes a big difference when you type a lot. 〔see How Many Keystrokes Programers Type a Day?〕 (why does personal key differ from public? For example, suppose you are using TEK or Ergodox or Kinesis. Keybinding designed for these are very different than for PC keyboard. So, when you design keybinding, you have to mentain 2 mindset. One for the generic PC keyboard, and one for your special keyboard. Here's another reason. For your personal emacs use, there are perhaps few personal commands you use most frequently. You must have easy keys for them. But, general emacs users don't have and don't care about these commands.))

the upshot is that every time i tried Matt's ergoemacs-mode, my emacs keys went awry, and i didn't have time to dig.

so, eventually, around , i gave up loading ergoemacs-mode. Instead, i just went back to a set of cowboy global keybindings. Sure, it won't work nicely with many minor modes, but basically i know what i'm doing, and i can get things done.

Due to frustration of not having 2 big Alt keys under thumb, and been long time lured by the efficiency of vi modal ways, i gradually created a ergoemacs like modal keybinding set for the TEK keyboard for use for myself: Emacs: Xah Fly Keys 📦.

ergoemacs-mode is undergoing heavy flux. Matt is doing heavy dev work. He dived deep into emacs key system, and wrote entire new key engine, so that the mode will work nicely with any other major or minor mode. Full support of emacs custom system, and also created themes for people to change keys in a systematic and supported way.

so, today, i tried ergoemacs-mode again. This time, without changing any of my customization. Just set ergoemacs-mode to load, and all things worked! including my hundreds of key changes on top of it and thousands elisp lines. This blog piece is written while ergoemacs-mode is on.

I've also noticed a huge amount of GUI improvements. They are things i tried to do in ErgoEmacs, such as improving the emacs menu, improving the display of key notations, show a menu of list of modes, etc. ergoemacs-mode now does them, and much better!

so, if you have a lot of your own key customization, ergoemacs-mode will work well, without you needing to change anything in your config.