The reasons I chose to always opt for emacs-style bindings, even though I'd rather never use emacs

To be fair, the direct reason is that most of Lem’s vi-mode keybindings don’t work on my Win10 laptop, but that is simply what made me realize there is a better solution at hand.

Not having to change input languages.

A pain point for anybody using a vi-like or kakoune-like modal editor to write non-Latin text and markdown files is that the application interprets not a keypress directly by scancode, but the symbol that the OS derives from it according to the current input language and layout. A Cyrillic “о” will not do anything in normal mode vi, just like “и” will fail to switch you to insert mode. You have to switch languages every time you switch modes, which increases effort significantly. But input languages intentionally do not encompass key combinations with Ctrl, left Alt and Super modifiers, allowing them to send to applications the standard Latin 🆀🆆🅴🆁🆃🆈 equivalents which would be expected, like Ctrl-V for the Paste from clipboard action, even if a standalone 🆅 is interpreted as something else like “в” or “ж” in that input language. This all means most emacs-style keybindings work without having to switch input languages, because they rely on modifier keys, rather than different modes of interpretation within an application. But things only become consummate with a configurable keyboard as follows.

Quantum Mechanical Keyboard configuration allows users to be in omnipresent god-mode.

Modal editing has its ergonomical benefits, protecting from repeated strain injury, namely the emacs pinky condition. Modern keyboards with firmware like QMK can be configured to switch into modifier-key-pressed “modes” with a single keystroke. This is enough to give you modal-like experience à la god-mode in all applications that only support standard emacs-style keybindings. This is a big​​​​​, ʙɪɢ win.
Because many functions are bound to a sequence of Latin characters both with and without a modifier, for users of non-Latin input methods, a configurable keyboard’s functionality is good to be complemented with a shortcut daemon like PowerToys Keyboard Manager, with which you can make otherwise unusable combinations like right_Ctrl-right_Shift-right_Alt-Super-🆁 send a single-letter string to the app you’re using, in this case aptly a plain “r”, to issue a command like read-file-other-window, bound to the sequence Ctrl-x 4 r, without changing input methods from a non-Latin one. All that’s needed is to add to your QMK keyboard a mode where every keypress is interpreted as if right Ctrl, right Shift, right Alt and Super are all held down. Pressing a chosen unused key will make you enter this mode for a single keystroke, holding it a bit longer can be configured to lock the mode until that key is pressed again. Again, if you only write in Latin letters you won’t need to do all that, but I do like to also use this strategy to type punctuation not found on any input method I use, such as: —, –, …, „“, or non-breaking spaces and hyphens. If you’re aware of a program for Linux that functions like PowerToys Keyboard Manager, please let me know.

1 Like