使用 VIM,如何将方向键从右手重新映射到左手?

使用 VIM,如何将方向键从右手重新映射到左手?

这是迄今为止我见过的最好的解决方案:

" Map Right Directionals to Left Commands
noremap s h
noremap d k
noremap f j
noremap g l

" Map Left Commands to Right Directionals
noremap h s
noremap k d
noremap j f
noremap l g

但是,实际使用这种映射时,从左到右切换时需要双击“s”和“g”键。

有没有更好的方法重新映射这些键以使其 100% 正常工作,而无需双击按键?

答案1

映射对我来说在普通的 Vim 中有效(vim -N -u NONE);你可能有一些其他以s或开头的映射g,因此 Vim 必须等待下一次按键才能解决歧义。使用以下方法检查此类映射

:verbose nmap s
:verbose nmap g

并删除/重新定义这些映射。

答案2

您应该尝试一下nnoremap它可以防止递归映射。

相关内容