The Roadmap to Completely Replace Emacs Key System, Part 2.5

By Xah Lee. Date: . Last updated: .

a few months ago, i started to design a keybinding set that completely replaces the entire emacs 1k+ keybinding.

i've been using it for a few months now. I want to publish it nicely, but just haven't got to it.

so, am just pushing it out as its current state, here:

again, i'm pushing out in its current chaotic state, hoping some keyboard hackers will pick it up, in case i never do.

to use it, you need:

here's a bit detail to help along:

there are 2 types of command: fast-repeat command and none-fast-repeat command.

the fast-repeat commands are moving cursor, delete characters, etc, where it makes sense to hold down a key and have it repeat. Typically, in emacs, there are 20 to 30 fast-repeat commands.

vast majority of emacs commands are non-fast-repeat. e.g. open file, switch buffer, dired, shell, calc, …

fast-repeat commands you need a single key or key chord.

fast-repeat commands are also the most frequently used commands, every second or few seconds.

ergoemacs-mode, is a package that solved the fast-repeat commands. (ergoemacs-mode also has a system for non-fast-repeat commands, but isn't designed from the ground up. It's based on converting emacs C-x to non-chord key sequences.)

xah fly keys is my new package that deal with fast-repeat commands. The key choices are mostly compatible with ergoemacs-mode. The major difference is that this is a modal input system, like vi.

that leaves the non-fast-repeat commands, which is basically all commands of emacs C-x keys.

so, the news is, i've now designed a set for this. The key map choice is based on frequency of the command and ease of key position.

If you find a GNU emacs command that by default has a key but is not covered here, it's a bug. (actually, it's 98% complete. there are about 100 commands with keys that is rarely used. (you can see them near the end of the file, as commented out lines. i wasn't sure what/where to do with them yet))

this is new because it's the first time i completely designed entire emacs keys for public use. Before, i was simply using my own keys without regard to other people's use.

for stories leading to this, see

Xah Fly Keys: More Efficient Than Vim

addendum: the keys are merged into xah fly keys

If you have a question, put $5 at patreon and message me on xah discord.
Or support me by Buy Xah Emacs Tutorial

Emacs Tutorial

Emacs Init

Emacs Keys


ELisp Examples

ELisp Write Major Mode

Emacs Keys



Key Tips

Emacs Pinky

Keybinding Design