emacs – 找出给定键组合的相应转义序列

在Emacs中,我想将特定的键组合绑定到命令.但是,因为我在OS X上的iTerm2中使用终端模式的Emacs,我需要将键组合转换为字符转义序列并使用iTerm2注册该序列,以便它能识别组合键.

但是如何在给出组合键的情况下找出相应的序列?例如,我发现类似^ [[1; 8A对应于Ctrl Alt up(我将iT配置为在iTerm2中用作Esc),但我不知道该键组合如何转换为此特定序列.

有没有办法查找或计算任何给定的键组合的转义序列?例如,Ctrl Alt r的顺序是什么?

一个相关的问题,有人可以向我解释在iTerm2中设置一个关键组合与其相应序列之间的关系,并使用Emacs将序列转换为其内部键表示,使用输入解码映射内部.emacs(例如(define-key input) -decode-map“[escape_sequencehere]”[internal_key_representation_here])?在我看来,仅在iTerm2中设置它就足以使绑定在Emacs中工作,所以我们何时以及为什么需要在.emacs中设置后者?(也许我们什么时候需要两者来制作一些东西?)

某些组合键直接发送到iTerm2中运行的应用程序.你可以的

>通过使用ctrl v方法(见In bash, how do I bind a function key to a command?)或

bash-3.2$^[[1;10A  (in this case I hit ctrl + v before shift+alt+up)

> sed -n l(注意它是小写的L).例如,您可以看到应用程序在发送时收到的内容(shift alt up):

bash-3.2$sed -n l
^[[1;10A
\033[1;10A$

如果某些组合键无法通过,您可以指示iTerm2到let it pass并将其映射到您可以检测到的组合键,如上所述.例如,您可以发送并将ctrl alt cmd R映射到ESC sdf,您的终端将收到^ [sdf,您可以将其分配给Emacs中的命令.

相关文章
相关标签/搜索