Hacker News new | ask | show | jobs
by nothrabannosir 203 days ago
Disagree with this just because it makes everything else easier. The more you stick to common key bindings, the more intuitive various packages will be. Eg navigating lines vs blocks in a magit diff block is C-n and N respectively. Copying a full hash is M-w. All these bindings are intuitive “overlays” on conventional bindings.

Emacs shines when packages combine to form a whole greater than the sum of its parts. Changing basic key bindings is the quickest way to vitiate that symbiosis.

Unfortunately.

And while they may be old school, traditional, and orthodox, they are by no means idiosyncratic. They’re widely supported: readline , bash, everywhere on macos, even modern browsers. Eg you can actually paste in bash: try killing something with C-w or C-k, and paste it back using C-y. Or transpose arguments using C-M-t. Navigate suggestions in Firefox using C-n and C-p. Bash even supports undo using C-/.

All to say: learning emacs movement keys pays off.

2 comments

Firefox opens a new window when I press C-n. Is this a setting that you have to enable?
The op is probably on Mac where emacs movements use Ctrl but FF and other apps use Cmd key, so they always work as there’s no conflict.
Is there a way to enable such a mode on a Linux Desktop Environment, so most mnemonics use Super- instead of Ctrl- ?
Honestly being able to use emacs movements everywhere is one of the reasons I stay on MacOS.
> Changing basic key bindings is the quickest way to vitiate that symbiosis.

Unless you change those as well

> All to say: learning emacs movement keys pays off.

It can also cost you RSI, so not worth it

I've found it crucial to have Control mapped to the keys immediately next to and on both sides of the spacebar. Thumbs are stronger than pinkies for modifying keypresses.
Yes, that's a good idea since Control is the most common keybinding modifiers, so helps in other apps as well (likewise, using Cmd on a Mac would be preferable to using the literal Control)