这是迄今为止我见过的最好的解决方案:
" 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
它可以防止递归映射。