是否有可能以任何方式将密钥“ c-(”发送到VT100/XTERM终端(MAC OS X终端)上的EMAC?是否可以发送逃生序列以实现等效?

我怀疑基本问题是将控制与角色“(”(以及使用Shift产生的其他此类字符)相结合的概念不存在。

注意:使用可可emacs不是一个选择。以及需要“ c-”的原因(“ paredit.el在其他关键组合中都使用它,并且最好不要重新重塑它(因为将其放在“ c-(”)上是有意义的。

有帮助吗?

解决方案

VT100终端无法做到这一点,因为没有 ^( 控制字符对应于 (. 。但是,Xterm具有所谓的“修改”模式,它确实允许为类似组合发送唯一的密钥编码。

为了启用它,设置 modifyOtherKeys 资源,例如 ~/.Xdefaults:

XTerm*vt100.modifyOtherKeys: 1

因此,CTRL+(将发送以下密码:

^[[27;6;40~

但是,这很长,因此引入了类似的密钥编码的另一种格式,可以通过设置 formatOtherKeys 资源:

XTerm*vt100.formatOtherKeys: 1

因此,Ctrl+(发送:

^[[40;6u

在这两个密钥编码中,40是十进制ASCII代码 (, ,6代表CTRL。

man xtermhttp://invisible-island.net/xterm/ctlseqs/ctlseqs.html 有关更多详细信息。不知道terminal.App是否支持任何一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top