为什么终端吞下Ctrl +向上/向下键击?


0

在Snow Leopard的Terminal.app中,键组合Ctrl+ Ctrl+ 不能正确传递。相反,Terminal.app接收单个键击。

我已经运行验证了这一点cat -v,它打印的代码^[[A两个Ctrl+ ,代码^[[B为两个Ctrl+

我查看了“系统偏好设置”中的键盘快捷键设置,但没有映射到它们。此外,击键在MacVim中工作(当这些击键在终端的vim中对我不起作用时,我首先注意到了这个问题)。

我也在运行iTerm2,它根本没有收到Ctrl+ Ctrl+ (经过测试cat -v)。

我在哪里可以找出在Terminal.app和iTerm2中吃了什么Ctrl+ Ctrl+ 键击?


Ctrl-Up / Ctrl-Down没有ASCII代码,任何想要解释Ctrl-Up与Up不同的软件都必须检查任何修改键本身的状态。cat显然没有。
nohillside

Answers:


2

在终端首选项中,转到“设置”,然后在面板中选择“键盘”。在那里,您可以设置各种组合键,将您希望的任何字符串发送到shell(或当前正在运行的程序)。


我明白了,这需要手动设置吗?是否有理由将此组合键(或首选项中未列出的组合)发送到终端?
Mike Mazur

是什么让你认为这个组合键不会发送到终端?如果您可以在终端首选项中设置它,然后它可以工作,然后通过它发送。只是终端在其默认配置中选择忽略它。是的,它需要手动设置,很可能是因为没有明确定义的标准来响应这些按键应该发送什么。
Harald Hanche-Olsen

是的,我应该反过来询问为什么终端选择忽略键组合,如果它没有在首选项中定义。缺乏明确的标准似乎是合理的。谢谢!
Mike Mazur
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.