当前位置:  开发笔记 > 开发工具 > 正文

终端能否检测到<Shift-Enter>或<Control-Enter>?

如何解决《终端能否检测到<Shift-Enter>或<Control-Enter>?》经验,为你挑选了2个好方法。

终端是否可以检测⇧ Shift+ Enter↵Ctrl+ Enter↵按键?

我正在尝试配置vim来执行使用这些序列的键映射,虽然它们在gvim中运行良好,但它们似乎不适用于任何终端控制台.

奇怪的是,虽然在vim中没有检测到Ctrl+ ,但是正确Enter↵映射Enter↵Esc地图,但是按下Ctrl+ Enter↵就像Enter↵!



1> Nicolas Wu..:

按下时有些终端发送.这相当于发送.

要找出您的终端的功能,转到您的终端,请键入(类似于sykora对vim的建议),并输入您感兴趣的序列.

使用gnome-terminal,我得到以下内容:

   : ^M
 : ^M
 : 

看着man ascii表明^M给出了序列.

答案是它取决于终端,并且有一种简单的方法可以检查.


我也在使用gnome-terminal但是我得到了不同的结果:`:^ M`,`:^ M`,`:^ M`.有没有什么办法解决这一问题?

2> sykora..:

Gvim运行自己的键击处理管理器,因此可以获取所有各种键组合.Vim依赖于传递特定按键的特定终端,因此密钥处理与终端一样好或不同.

您可以通过密钥找出插入的内容的一种方法是,您可以找到自己想做的事情.例如类型:

:

即,在键入组合Control-V后,实际输入要按下的组合.在那之后为enter做同样的事情,即

:

如果它们产生相同的代码,那么终端将两个键组合解释为相同的键码,并且您不能在不弄乱终端的情况下绑定它们.

在我的终端(urxvt)中,Control-Enter,Shift-Enter和Enter(单独)都产生^ M字符,这意味着我不能映射一个而不映射另一个.Control-Tab和Control-I,以及Control-Space和Control- @也是如此.

编辑:使用CQ代替CV for Windows.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有