4 ms·
Vim was designed on qwerty keyboards. On other layouts (e.g. neo2) hjkl are not in a row.
by manx 4y ago
Vim was designed on qwerty keyboards. On other layouts (e.g. neo2) hjkl are not in a row.
- spc476 4y agoSpecifically, it was designed on the ADM3A keyboard, which had the arrows printed on the H, J, K and L keys. Also of note is the key in the upper right, which is labeled with "HOME", ~ and ^ (which explains why shells use "~/" to represent the users home directory). And while I'm diving into history here, vi (which stands for "visual") was a modification of "ex" to use the newfangled "video terminal" instead of the battle tested teletype machine.
- opan 4y agoVery minor issue, speaking as someone who switched to dvorak and then workman while continuing to use vim daily. No keys remapped. It's just not even an issue. Those letters still make those movements. They're in different spots, but I already had to get used to the new spots for writing words in the first place. Doesn't even feel slower. IIRC dvorak even happens to split the vertical and horizontal movements between hands but while keeping them near each other, almost like RC car controls. Workman is comparatively a bit crazier with its placement, but it still doesn't bother me.
- danielvaughn 4y agoThat's somewhat comforting to know. I'm in the beginning stages of building out a keyboard-heavy application, and I keep wondering about how to support different keyboard types. I suppose it's not possible to satisfy all customers if even Vim can't do it.
- maleldil 4y agoJust support QWERTY but allow the user to remap everything. Even among programmers, the share of people that use alt layouts is so small that is not worth your time.
- Lio 4y agoI’m a Colemak layout user. I don’t bother remapping anything for Vim because I want it to be consistent with other apps with vi keys. I have done that briefly years ago but I find it a dead end. After a while you just get used to the cursor keys being in a different place and if you’re touch typing it doesn’t mater much. Also what you loose to cursor key placement you gain back on other navigation. So in short just support qwerty and it’ll be fine.