Hacker News new | ask | show | jobs
by willbush 798 days ago
Your story is similar to mine. I also use Colemak-DH. However, I sort of quit Qwerty cold turkey. I also used to touch type about 80 wpm on Qwerty, and because I didn't maintain it or practice while learning Colemak, I completely overwrote my muscle memory. Overall, the layout is more comfortable for me, but hard to justify especially if you rather not tamper with default keybindings.

I'm also a vim keybinding user, but in Emacs evil-mode mostly. Vim keybindings are definitely made for qwerty, and to me not rebinding the keys just seemed insane.

I ended up spending a weekend, reviewed all the keybindings I use, and ones I should probably use more, then wrote it all out [0].

I remapped a lot of keys back to their qwerty positions, but I also took the opportunity to make some changes that I thought would be more ergonomic. I also came up with me own mnemonic system for the re-mappings.

For example:

  | function          | before | after | new mnemonic      | Commentary                                 |
  |-------------------+--------+-------+-------------------+--------------------------------------------|
  | find file at pt   | g f    | g s   | search file at pt | need to free up `g f'                      |
  | find file.. w/ ln | g F    | g S   | search file.. etc | need to free up `g F'                      |
  | end WORD          | E      | F     | far WORD          | foot/forward are other possible mnemonics  |
  | end WORD          | g E    | g F   | far WORD rev      | foot/forward are other possible mnemonics  |
  | end word          | e      | f     | far word          |                                            |
  | end word          | g e    | g f   | far word rev      |                                            |
  | find              | f      | s     | search            | right next to till :)                      |
  | rev find          | F      | S     | rev search        |                                            |
  | visual mode       | v      | r     | range             | see note below                             |
  | visual lines      | V      | R     | range lines       |                                            |
  | visual block      | C-v    | C-r   | range block       |                                            |
  | visual restore    | g v    | g r   | range restore     |                                            |
  | replace           | r      | v     | revise            | convert is another possible mnemonic       |
  | replace mode      | R      | V     | revise mode       |                                            |
  | goto mk           | `      | j     | jump              | easier to reach and now mnemonic           |
  | goto mk ln        | '      | J     | jump to line      | same key as j now, which makes sense to me |
Here is a minimal vim config [1] that I use if I find myself wanting to use (neo)vim. My evil-mode config [2] in Emacs. Remapping `less` keys [3].

[0] https://github.com/willbush/system/tree/main/configs/keyboar...

[1] https://github.com/willbush/system/blob/main/configs/nvim/in...

[2] https://github.com/willbush/system/blob/82253534b92f3ab87d8e...

[3] https://github.com/willbush/system/blob/82253534b92f3ab87d8e...

1 comments

I don't rebind my keys on Colemak for vim/evil. I got used to it pretty quickly. Beyond the basic hjkl movement commands I don't think anything is really meant for qwerty specifically. Remapping also breaks the mnemonics somewhat which I think is important. Emacs users got along just fine with Ctrl-n and p, so I see no specific reason remapping should be needed.