使用异国情调的键盘布局,我必须重新映射g(以及其他),在我的布局中,在经典的qwerty布局中,g位于h位置。为此,我决定使用以下命令将g与h交换:
noremap g h
noremap h g
这行不通。例如,输入hh被视为gh,而不是gg,当点击g时,它显示g(启用showcmd
)而不是h,它似乎没有考虑到重新映射,它的行为就像g命令一样。但当再次按下g或等待1秒时,它实际上向左移动。
我尝试了以下操作使其在操作挂起模式下工作
onoremap g h
onoremap h g
但是它没有改变任何东西。
为什么会这样呢?如何解决这个问题?
像gg
这样的多键命令(或各种<C-w>
命令,我记得类似的问题)的麻烦是它们是而不是 g
命令后面跟着g
操作符。(特别是有了g
前缀,在这个空间里有一大堆不相关的命令在原来的vi中找不到。)
恐怕你得为它们分别定义重新命名:
:nnoremap hh gg
...