'jkl;' for the win! 'hjkl' always seemed awkward and never made sense to me. 'hjkl' is supposed to be convenient so that you never need to move your right hand to navigate the file, but you don't type with your fingers on 'hjkl', you type with them on 'jkl;'. I remapped my vim to 'jkl;' and am loving it. (Though it is a bit of a pain for less, and other vim-keyed applications).
For those interested, you can remap to use 'jkl;' with:
" Navigate with jkl; instead of hjkl
noremap ; l
noremap l k
noremap k j
noremap j h
If your middle and ring fingers are not strong enough to push the buttons, you need a better keyboard.
In all seriousness, though, I personally don't like having to reach with my index finger to move left. I tend to think of 'jkl;' as being a more efficient set of arrow-keys. (Where, with the arrow keys, your index finger goes left, ring-finger goes right, and middle finger goes up-down).
If you can hack it with 'hjkl' more power to you, but I found it extremely annoying to have to 'reset' my hand position every time I wanted to type text in insert mode.
> I found it extremely annoying to have to 'reset' my hand position every time I wanted to type text in insert mode.
Did you not consider keeping your hand in the standard place? I very rarely use h, and when I do it is a simple moment of the index finger. Backspace has nearly the same functionality as h, and movement keys like b, ^, and I (enter insert mode at the beginning of the line) are typically much more useful.
Yeah, I kept finding myself trying to use 'hjkl' like arrow keys, then when I went into insert mode I would have to move my hand back (and lose my train of thought). Basically, 'jkl;' feels more intuitive to me. Hardcore vim users will probably be aghast at remapping something as basic as cursor movement and say that I should "learn to do it right". But it makes more sense to me, and I haven't found it to be any less efficient.
For those interested, you can remap to use 'jkl;' with:
Edit: Being a bit nicer to vim's authors...