System-wide ErgoEmacs Keybinding for Windows, Mac, Bash

, , …,

This page lists several utilities that let you use the ErgoEmacs Keybinding system-wide.

Advertise Here

Windows

For Windows, just download the following executables.

Here's some util for Windows to make Caps Lock key call emacs's “execute-extended-command”. Very convenient.

(These are created using the AutoHotkey utility. Source code at: Source code.google.com. (See also: AutoHotkey Tutorial.))

Mac

Download one of the following file, then copy the content and put it into 〔~/Library/KeyBindings/DefaultKeyBinding.dict〕 then restart the app. (create that file or dir if it doesn't exist.)

These are based on OS X's system-wide keybinding mechanism. For detail, see: Creating Keyboard Layout in Mac OS X.

Bash

Download the following, then place the content in your “.inputrc”. (see the header for detail.)

Not Perfect

I use all of them, the Dvorak version. However, note that there are many quirks in keybinding system in all Windows, Mac, Linux, and Bash too. In a perfect world, a keybinding system should let you assign or remap any key system-wide. However, that's not the case. Not in Windows, not in Mac OS X, not with emacs, nor with AutoHotkey. Typically, there are certain key combinations handled at low level that you just cannot remap, some are by design, but some seems not. (e.g. on Windows, 【Win+l】, 【Win+u】, 【Ctrl+Alt+Del】. On Mac, ⌥ Opt with any of e u i n `, or ⌘ Cmd with any of z x c v.)

Also, there are many practical quirks. For example, on Windows with AutoHotkey, the keys won't work when you are intsalling a software or in regedit or running any of sys admin tools. Because, while in regedit, you are running it in admin privilege mode, But AutoHotkey is not running in admin privilege mode.

On the Mac, the system wide keybinding works only with apps written in the Cocoa framework, but even so not all your key remappings are supported by Cocoa apps. (for practical purposes, it works in vast majority of apps out there.)

So, the above ErgoEmacs scripts are not perfect, but they cover all the basic cursor movement and deletion keys. (read the header file for any detail.)

PS the contributors for these scripts are in the files. Here's a summary:

blog comments powered by Disqus