💾 Archived View for tilde.pink › ~toshi › gemlogs › emacskeybindings.gmi captured on 2023-11-04 at 12:25:24. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-06-14)
-=-=-=-=-=-=-
Emacs, as much as i am liking it, has some devious keybindings, at least compared to Vim. In the latter, motion is entirely done by pressing one single key while in normal mode, and then entering insert mode to insert some text, while in the former, you have to press a modifier key (sometimes 2 or 3) before actually pressing the key that moves the cursor. And modifier keys are just the begining, as Emacs doesn't make the most practical choices; they make semantical or mnemonic sense (C-f = forward a character, C-n = next line, C-e = end of the line, this last one is better than vim's $ by an awful lot) but they make your hand go full on spider depending on the keyboard.
I see modal editing as a better way to work, thus i explored two modal implementations for emacs: god-mode and meow. God-mode uses emacs' default mnemonics (n for next, f for forward and so on) but it removes the need for pressing modifier keys with the pinky, because every key you press, let it be 'a', is interpreted as 'C-a'; for using 'M-a', you would press 'ga', and for 'C-x d' it would be 'x d'. This is a good approach if you want to learn the emacs keybindings "as they were meant to be" and at the same time have modal editing. Although i have already accustomed to emacs' defaults, even using them accidentally while using vim, i can't say an alternative wouldn't make more sense to me. That is why i will (soonly enough) try meow.
Meow does not come with default keybindings. They have a sane default config file in their github page for both dvorak, qwerty (they are identical iirc) and colemak, but what i really want to do is to create a personal layout, maybe taking some concepts from ergoemacs and vi.
Anyway, i haven't touched meow yet, so i can't say a lot about it. This post seems more like a pseudorant about emacs than a meaningful post, so it will be exclusively referred to in gemlogs/index.gmi file.