Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEATURE REQUEST:Second navigation: A setting option for remapping 'hjkl'(←↓↑→) to 'jkil'(←↓↑→) #4551

Closed
yunlongYoung opened this issue Feb 10, 2020 · 2 comments

Comments

@yunlongYoung
Copy link

yunlongYoung commented Feb 10, 2020

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.
image

@yunlongYoung yunlongYoung changed the title FEATURE REQUEST:Second navigation: A setting option for remapping 'hjkl'(←↓↑→) to 'jkil'(←↓↑→) and swap 'h' & 'i' FEATURE REQUEST:Second navigation: A setting option for remapping 'hjkl'(←↓↑→) to 'jkil'(←↓↑→) Feb 10, 2020
@sql-koala
Copy link
Contributor

Hi, the feature we need for this, is operator mode maps. See #3086

@J-Fields
Copy link
Member

Yeah, @sqlkoala's absolutely right - closing as a duplicate of #3086

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants