如何在vim中映射“Ctrl +>”组合键?

8
我希望将CTRL>组合键映射为gt(跳转到下一个vim标签)。
由于>是一个特殊字符,因此nmap <c->> gt无法起作用。
我该如何实现所需的结果?
2个回答

16
由于键盘输入的处理方式内部存在问题,即使在GVIM中,通常情况下这是不可能实现的。一些键组合,例如Ctrl+非字母按键无法映射,而Ctrl+字母键Ctrl+Shift+字母键无法区分(除非您的终端发送了一个独特的termcap代码,但大多数终端并没有这样做)。在插入或命令行模式下,请尝试输入键组合。如果没有发生任何事情/未插入任何内容,则无法使用该键组合。这是已知的痛点,并且在vim_dev和#vim IRC频道上进行了各种讨论。
一些人(主要是Paul LeoNerd Evans)希望解决这个问题(即使在支持此功能的终端中的控制台Vim中),并提出了各种提案
但截至今日,尚未出现任何补丁或志愿者,尽管许多人表达了希望在未来的Vim 8主要版本中实现这一点的愿望。

我尝试在插入模式下输入组合键,它确实插入了一些文本(我尝试了<Ctrl> + <Tab>)。我该如何将其映射到某个功能? - astronaut
1
@astronaut:Ctrl-Tab 就是 <C-Tab>,而且,在 GVIM 中至少可以使用。 - Ingo Karkat

7
你可以通过 termcap 编码或十进制(八进制、十六进制)编码映射每个键。请阅读以下内容:
:h :map-special-chars

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接