为什么vim键映射“map!”“”<esc> ha“导致奇怪的行为?</esc>

时间:2011-01-12 00:04:07

标签: vim

我正在尝试在我的vimrc中创建一组简单的键映射,并在我的vimrc中写了以下内容:

  

图! “”哈哈

上面的键映射在插入模式下工作,当您键入"时,vim只需键入另一个",然后将光标放在两个引号之间。

然而,最奇怪的事情发生了,似乎vim无法停止产生双重标记并继续,它只会在按下<CTRL-C>时停止。

这是我的错误,还是这个vim bug?

1 个答案:

答案 0 :(得分:7)

这不是错误。问题是你的地图正在递归。解决方案是使用noremap!,它不允许在rhs中使用地图:

noremap! " ""ha

我个人倾向于使用noremap命令,除非我知道我需要在rhs中扩展地图。