【问题标题】:vim key mapping being fired by carriage returnvim 键映射被回车触发
【发布时间】:2017-09-30 19:13:19
【问题描述】:

我在 Windows 10 上使用 gvim,并试图获得一个好的键盘映射来打开一个新文件的垂直拆分。我第一次尝试

nnoremap <c-m><c-m> :vnew<CR>

但由于某种原因,如果我在正常模式下连续两次回车,我会得到一个新的垂直分割窗口。所以我从键映射中取出了尾随回车

nnoremap <c-m><c-m> :vnew

如果我在正常模式下按回车键 3 次,仍然会得到一个新的垂直拆分窗口,出于某种原因,我发现自己正在这样做。

为什么在 _vimrc 的键映射中甚至没有回车时,回车会关闭键映射?我已经重新启动 vim 没有任何效果。

【问题讨论】:

    标签: vim keymapping


    【解决方案1】:

    从 Vim 的角度来看,&lt;C-m&gt;&lt;CR&gt;&lt;CR&gt;&lt;C-m&gt;

    它们是相同的键,因此如果不将其映射到 &lt;CR&gt;,则无法将其映射到 &lt;C-m&gt;,反之亦然。

    您需要为您的映射找到另一个组合键。

    【讨论】:

      【解决方案2】:

      由于键盘输入是在内部处理的,遗憾的是,即使在 GVIM 中,这在今天通常也是不可能的。某些组合键,如 Ctrl + 非字母无法映射,Ctrl + 字母 vs. Ctrl + Shift + 字母无法区分。 (除非您的终端为它发送一个独特的 termcap 代码,但大多数情况下不会。)在插入或命令行模式下,尝试键入组合键。如果没有任何反应/插入,则不能使用该组合键。这也适用于&lt;Tab&gt;/&lt;C-I&gt;&lt;CR&gt;/&lt;C-M&gt;/&lt;Esc&gt;/&lt;C-[&gt; 等(唯一的例外是&lt;BS&gt;/&lt;C-H&gt;。)这是一个已知的痛点,并且vim_dev 和#vim IRC 频道上各种讨论的主题。

      有些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(即使是支持此功能的终端中的控制台 Vim),并提出了各种建议,cp。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

      但截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来的 Vim 版本中提供此功能。

      【讨论】:

        猜你喜欢
        • 2013-09-20
        • 2016-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 2010-10-20
        相关资源
        最近更新 更多