Vim:在操作挂起模式下交换2个字符

时间:2013-04-22 11:54:21

标签: vim key-bindings remap

使用异国情调的键盘布局,我必须重新映射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

但它不会改变任何东西。

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

1 个答案:

答案 0 :(得分:3)

gg这样的多键命令(或者我记得类似问题的各种<C-w>命令)的问题在于它们不是 {{1命令后跟一个g运算符。 (特别是g前缀,在该空间的原始vi中找不到一系列无关的命令。)

我担心你必须为所有人定义单独的重映射:

g