我最近发现vim有:term命令可以打开vim中的终端。我想创建一个Ctrl+的键盘快捷方式,就像在Visual Studio代码中一样。但是:map <C-> :term`什么都不做。有人能帮忙吗?我在windows上使用gvim。
:term
:map <C-
vm0i2vca1#
你不能这样问题是ctrl '不会被当作一个不同的键。与ctrl组合使用时,只有@、A-Z、[、\、]、^和_Map到ASCII字符(分别为0到31)要检查这一点,可以尝试组合ctrlv '它会自己印出来的。您必须为此找到其他组合键。
@
A-Z
[
\
]
^
_
ctehm74n2#
TL. DR:不能使用此组合键;请选择另一个。
由于键盘输入是在内部处理的,不幸的是,这在今天通常是不可能的,即使在GVIM中也是如此。一些键组合,如Ctrl +非字母组合无法Map,Ctrl +字母组合与Ctrl + Shift +字母组合无法区分。(除非您的终端为它发送一个不同的 termcap 代码,而大多数终端不会这样做。)在插入或命令行模式下,请尝试键入该组合键。如果没有任何React/没有插入任何内容,则无法使用该组合键。这也适用于<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版本中有这个。
<Tab>
<C-I>
<CR>
<C-M>
<Esc>
<C-[>
<BS>
<C-H>
2条答案
按热度按时间vm0i2vca1#
你不能这样
问题是ctrl '不会被当作一个不同的键。
与ctrl组合使用时,只有
@
、A-Z
、[
、\
、]
、^
和_
Map到ASCII字符(分别为0到31)要检查这一点,可以尝试组合ctrlv '
它会自己印出来的。
您必须为此找到其他组合键。
ctehm74n2#
TL. DR:不能使用此组合键;请选择另一个。
由于键盘输入是在内部处理的,不幸的是,这在今天通常是不可能的,即使在GVIM中也是如此。一些键组合,如Ctrl +非字母组合无法Map,Ctrl +字母组合与Ctrl + Shift +字母组合无法区分。(除非您的终端为它发送一个不同的 termcap 代码,而大多数终端不会这样做。)在插入或命令行模式下,请尝试键入该组合键。如果没有任何React/没有插入任何内容,则无法使用该组合键。这也适用于
<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版本中有这个。