Hacker News new | ask | show | jobs
by lyall 802 days ago
In my experience as a Colemak typist and heavy vim (or vim-emulation) user, the best solution is to bite the bullet and _not_ remap any of the keys. This is obviously annoying for hjkl navigation at first but you get used to it pretty quickly. Plus there's the added benefit of being able to easily use hjkl for navigation everywhere that uses them but _doesn't_ let you remap, which is a lot of places.
5 comments

Yes. As a dvorak typist, hjkl being in eccentric locations hasn't bothered me.
In dvorak, 'hjkl' are still fairly convenient.

'jk' are adjacent. 'h' is to the left of 'l'.

How is it best when it's just bad? Why would you make the ergonomic of shortcuts worse when the big point of another layout is better ergonomics?
Because the economics aren't "just bad".

The only shortcuts that might be worse on an alternative layout is hjkl, and you can argue that people way overuse them and it's better get into the habit of using other movement keys instead.

I've found that Vim ergonomics are way better on my own layout[0] than on qwerty, despite hjkl not being on the home-row.

[0]: https://www.jonashietala.se/series/t-34/

Yeah, "the only shortcuts" worse are the most used ones!

And overuse argument isn't enough to even move them (it's an argument to maybe move word-based movements to the home row instead of them, but not to just move them out), let alone split them!

Your layout isn't relevant when talking about Colemak, it's trivial to make Vim way better even on qwerty since the defaults are very bad, so of course there are layouts where these letters magically appear in more ergonomic position, the argument is that it makes no sense to make it worse just to stick to the labels

I agree. I quickly started to associate the commands with the letters, rather than the key locations. hjkl you can get used to after a while.
Totally agree.

And I can use Vim without trouble on qwerty and on my own custom layout. The only adjustment to the layout I made when designing it was placing hjkl in reasonable positions (e.g. avoid the worst placements, but they're still not on the homerow).

My solution has been putting important keys on a function layer so I can still reference them easily.