在 vim <C-`> 中添加 :term 的快捷方式

Add shortcut to :term in vim <C-`>

我最近发现 vim 在 vim 中有 :term 打开终端的命令。我想创建 Ctrl+` 的键盘快捷键,就像在 visual studio 代码中一样。但是 :map <C-`> :term 没有做任何事情。 任何人都可以帮忙。我在 windows 使用 gvim.

你不能。

问题是 ctrl` 不会被视为不同的键。

只有 @A-Z[\]^_ 映射到 ASCII与 ctrl

组合时的字符(分别为 0 到 31)

要检查这一点,您可以尝试组合 ctrlv`

它会自己打印 `。

您必须为此找到一些其他组合键。

TL;DR: 你不能使用这个组合键;选择另一个。

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

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

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