Emacs 找出给定键组合对应的转义序列
在Emacs 找出给定键组合对应的转义序列,emacs,key-bindings,iterm2,Emacs,Key Bindings,Iterm2,在Emacs中,我想将特定的键组合绑定到命令。但是,由于我在OS X上的iTerm2中以终端模式使用Emacs,因此我需要将键组合转换为字符转义序列,并将该序列注册到iTerm2,以便它识别键组合 但是,如果给定一个键组合,我如何找出相应的序列呢?例如,我发现类似于^[[1;8A的东西对应于Ctrl+Alt+up(我在iTerm2中将Alt配置为+Esc),但我不知道该组合键如何转换为这个特定序列 有没有办法查找或计算出任何给定组合键的转义序列?例如,Ctrl+Alt+r的顺序是什么 一个相关的
Emacs
中,我想将特定的键组合绑定到命令。但是,由于我在OS X上的iTerm2
中以终端模式使用Emacs
,因此我需要将键组合转换为字符转义序列,并将该序列注册到iTerm2
,以便它识别键组合
但是,如果给定一个键组合,我如何找出相应的序列呢?例如,我发现类似于^[[1;8A
的东西对应于Ctrl+Alt+up(我在iTerm2
中将Alt配置为+Esc
),但我不知道该组合键如何转换为这个特定序列
有没有办法查找或计算出任何给定组合键的转义序列?例如,Ctrl+Alt+r的顺序是什么
一个相关的问题,有人能给我解释一下在
iTerm2
中设置一个键组合及其对应的序列与使用input decode map
inside.Emacs
(例如(定义键输入decode map))将一个序列转换为其内部键表示之间的关系吗[escape_sequencehere]“[internal_key_representation_here]
)?在我看来,仅在iTerm2
中设置它就足以使绑定在Emacs
中工作,那么什么时候以及为什么我们需要在中设置后者呢一些组合键直接发送到运行在iTerm2
中的应用程序。您可以获得它
- 通过使用
ctrl
+v
方法(请参阅)或
sed-nl
(注意它是小写的l
)。例如,如果您发送(shift
+alt
+up
),您可以看到应用程序收到了什么:
如果某个组合键未通过,您可以指示iTerm2,并将其映射到您可以如上所述检测到的组合键。
例如,您可以通过发送并映射ctrl
+alt
+cmd
+R
到ESC+sdf
,您的终端将收到^[sdf
您可以在Emacs中分配给命令。在您的终端类型中showkey-a
并让按键笔划自由移动。我假设您已经阅读了相关文档,如和?
bash-3.2$ ^[[1;10A (in this case I hit ctrl + v before shift+alt+up)
bash-3.2$ sed -n l
^[[1;10A
\033[1;10A$