Emacs: Xah Fly Keys History
Here's the history of why i created Xah Fly Keys.
- I'm a QWERTY typer since ~1987 on a typewriter.
- Switched to Dvorak in ~1994.
- Started to use emacs in 1997.
- Live in emacs since 1998.
- Use emacs in text terminal only, and default GNU emacs keybinding, from 1997 to 2006.
- Started to experience RSI discomfort a few times since 2005, first time due to using laptop exclusively for 2 years.
- Created ergoemacs mode in 2007. (joined by David Capello (https://davidcapello.com/) and since 2013 the project is lead by Matthew Fidler)
- Created Xah Fly Keys in 2013. Going modal.
[see Xah Lee's Typing Experience and RSI (Repetitive Strain Injury)]
I always regarded the vi modal ways a hack of the hack of the unix lineage. [see History of vi Keys] I'll never touch it. But starting in 2010, i had lots thoughts about keyboard efficiency, and it occurred to me the modal way is actually more efficient, for programers.
The reason is, that on average, ~50% of key-strokes of programers are actually not data-entry (that is, 50% are actually {moving cursor, copy, cut, delete, indent, switch buffer, open/close, completion, etc}.) [see Emacs Command Frequency Statistics] That means, if using modal ways, 50% of the time you don't have to press key combinations to execute commands, just a single key for each command. So, the 50% of time when you call commands, each command you save about 1 key-stroke, so in total you save about 50% × 50% = 25% of key-strokes. The trade-off is that you have to constantly switch command/insert modes, which means adding a key stroke every time you do so. In the end, i estimate that modal keyset saves you about 10% of key strokes.
I've been wanting to create and experiment with vi modal ways since 2010.
While there's viper-mode
(which is a vi-emulator) and there's evil-mode
(which is based on vim (a more advanced vi)), but their key/command choices is largely historical, not a clean design based on efficiency.