【问题标题】:Why does the vim key map "map! " ""<ESC>ha" cause strange behaviour?为什么 vim 键映射 "map!" ""<ESC>ha" 会导致奇怪的行为?
【发布时间】:2011-06-07 12:53:46
【问题描述】:

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

地图! " ""哈

上面的键映射在插入模式下工作,当你输入"时,vim会简单地输入另一个",然后将光标放在两个引号之间。

然而最奇怪的事情发生了,vim 似乎无法停止产生双引号并继续,它只有在按下&lt;CTRL-C&gt; 时才会停止。

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

【问题讨论】:

  • fow 回答了您的“错误”问题。尽管如此,我还是建议您不要使用 banged (!) 版本的映射(因为它在 COMMAND 模式下根本不起作用)。关于平衡对的话题,我建议你看看stackoverflow.com/questions/4521818/…

标签: vim


【解决方案1】:

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

noremap! " ""ha

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

【讨论】:

    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 2023-03-11
    • 2010-10-20
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多