The problem
I have used vim for 3 years, but until now aways get wrong to use 'j' & 'k', I often will stop for a while to think about whick key is up/down, is that 'j' or 'k'? sometimes I will press 'j' & 'k'to try it out.
I thought that because from begining, the designer of vi take 'i' as 'input' for it's easy to remember. So designer use 'hjkl' to handle (โโโโ) . But it's not conforming our intuition very much.
The solution
Add a option for use 'jkil' to substitute 'hjkl', for its shape like direction keys on keyboard(โโโโ).
i โ
j k l โ โ โ
And complete swap function of 'h' and 'i'('H' and 'I', 'i(', 'ib', 'iw' etc.).
Alternatives
Allow us to config 'MoveInsideCharacterModeKeyBinding' in setting.json.
Additional context
Fisrt I just use keymapping in setting.json, just like:
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": [ "h" ], "after": [ "i", ] },
{ "before": [ "H" ], "after": [ "I", ] },
{ "before": [ "j" ], "after": [ "h", ] },
{ "before": [ "J" ], "after": [ "H", ] },
{ "before": [ "k" ], "after": [ "j", ] },
{ "before": [ "K" ], "after": [ "J", ] },
{ "before": [ "i" ], "after": [ "k", ] },
{ "before": [ "I" ], "after": [ "K", ] },
]
But I soon found that when I use 'c2l' or 'cib', I can not config that in setting.json. So It comes to a chaos.
The reason for use 'jkil' and not to use 'hjuk' to handle (โโโโ) is that we often put our fingers on 'jkl' but not no 'hjk' when we doing nothing.

Hi, the feature we need for this, is operator mode maps. See #3086
Yeah, @sqlkoala's absolutely right - closing as a duplicate of #3086
Most helpful comment
Hi, the feature we need for this, is operator mode maps. See #3086