目前,如果我按C-h c
,然后按键盘上的ESC
键,我会得到结果
ESC ESC ESC (translated from <escape> <escape> <escape>) runs the command keyboard-escape-quit
ESC
和<escape>
之间的区别是什么?我如何利用这种差异来制作更多的键绑定?
答案 0 :(得分:7)
在emacs
mailing list archive中找到解决方案:
转义键通常链接到转义字符,但两者 是不同的。在tty下,Emacs接收完全相同的字节序列 如果您键入转义键或键入C- [(两者都是),则从终端输入 发送转义字符。)
另一方面,在GUI下,Emacs可以区分这两者,所以在 在GUI中,转义键不会发送
?\e
(kbd也称为ESC
)但escape
(通常为kbd的<escape>
),通常会变为?\e
通道 function-key-map(即只有当没有相应的绑定时) 密钥序列escape
)。同样的事情发生在tab(即TAB(又名
C-i
)vs tab)并返回 (即RET(又名C-m
)vs返回)。