Vim users, where do you rest your right hand?
Intro
Neither of the previous 2 solutions was 100% satisfactory. I propose a 3rd way, one that combines the best of both worlds
My Recomendation: "down-up-left-right"
Keep up/down where they are, then make 3rd & 4th fingers left & right
Then, to avoid overwriting base Vim features: Toss whatever used to be on ; to the now-empty h button
As a cute bonus, the "l" key now stands for "left" ;)
noremap l h
noremap ; l
noremap h ;
The previous "runners-up", who both use "left-down-up-right" layout:
Choice 1: "hjkl"
@alternative's recommendation. Keybinds stay default (hjkl), right hand stays on home row (jkl;)
- pros:
- j (down) and k (up) stay on your primary 2 fingers, where they deserve
- cons:
- You have to reach over for h (left). Even if this isn't as used as w,e,b, it's still a bloody arrow button and it would be nice to have on home row
- Basically: All 4 fingers aren't naturally resting on arrow buttons. This confuses my hand
Choice 2: "jkl;"
Slide those 4 binds over 1 so they sit on the home row:
noremap ; l
noremap l k
noremap k j
noremap j h
- pros:
- No finger confusion; all the arrows are under the fingers naturally
- cons:
- As @alternative said, up/down being on the 2nd and 3rd finger is very "non-optimal"
- Similarly, the strongest finger being on left is also a waste
I think that jkl;
is actually the more appropriate usage for vi. For one, h
and l
really don't matter that much. w
, e
, and b
are significantly more useful for horizontal navigation. As a bonus, ;
is easy to get at if the language requires it. Having a weaker finger on k
hurts, and you don't need your strongest finger on the h
, when it should be on the j
which is probably the most used of the four.
I keep my hands on the home row, in the normal touch-typist manner. Rarely do I use the h key for movement, as moving one space to the left is not usually an efficient way to move (and does not really fit the essence of Vim).