是否可以以任何方式通过 VT100/xterm 终端(Mac OS X 终端)将键“C-(”发送到 Emacs?是否可以发送转义序列来实现等效功能?
我怀疑根本问题在于,将控制与字符“(”(以及使用移位生成的其他此类字符)相结合的概念不存在。
注意:使用 Cocoa Emacs 不是一个选项。需要“C-(”的原因是 paredit.el 在其他组合键中使用它,并且最好不要重新映射它(因为将它放在“C-(”)上是有意义的。
VT100 终端无法做到这一点,因为没有^(
控制字符对应(
。然而,xterm 有所谓的“modifyOtherKeys”模式,它允许发送类似组合的唯一键码。
要启用它,请设置modifyOtherKeys
资源,例如在~/.Xdefaults
:
XTerm*vt100.modifyOtherKeys: 1
这样,Ctrl+( 将发送以下键码:
^[[27;6;40~
不过,这相当长,因此引入了另一种类似的键码格式,可以通过设置来启用formatOtherKeys
资源:
XTerm*vt100.formatOtherKeys: 1
这样,Ctrl+( 发送:
^[[40;6u
在这两个键码中,40 是十进制 ASCII 代码(
,6 代表 Ctrl。
See man xterm
and http://invisible-island.net/xterm/ctlseqs/ctlseqs.html http://invisible-island.net/xterm/ctlseqs/ctlseqs.html了解更多详情。不知道 Terminal.app 是否支持其中任何一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)