4

使用异国情调的键盘布局,我必须重新映射 g(以及其他),它在我的布局中位于经典 qwerty 布局的 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

但它不会改变任何东西。

那么为什么它会这样呢?以及如何解决?

4

1 回答 1

3

多键命令gg(或<C-w>我记得类似问题的各种命令)的问题在于它们不是g操作员后面的命令g。(尤其是g前缀,在那个空间的原始 vi 中找不到一整套不相关的命令。)

恐怕您必须为所有这些定义单独的重新映射:

:nnoremap hh gg
...
于 2013-04-22T12:07:56.020 回答