MLi*_*ter 8 emacs key-bindings iterm2
在Emacs,我想将特定的键组合绑定到命令.但是,因为我在OS X上使用Emacs终端模式iTerm2,我需要将键组合转换为字符转义序列并注册该序列,iTerm2以便它能识别键组合.
但是如何根据组合键找出相应的序列?例如,我发现像^[[1;8A对应于Ctrl+ Alt+ up(其中我已经配置Alt以充当+Esc中iTerm2),但我不知道该键组合如何转化为这个特殊的序列.
有没有办法查找或计算任何给定的键组合的转义序列?例如,Ctrl+ Alt+ 的序列是什么r?
一个相关的问题,有人可以向我解释设置一个关键组合与其相应的序列之间的关系,iTerm2并Emacs使用input-decode-map内部.emacs(例如(define-key input-decode-map "[escape_sequencehere]" [internal_key_representation_here])将序列转换为其内部键表示?在我看来,iTerm2单独设置它就足以使绑定工作Emacs,所以我们何时以及为什么需要设置后者.emacs?(也许我们什么时候需要两者都能使某些东西发挥作用?)
一些组合键直接发送到在 中运行的应用程序iTerm2。你可以得到它
通过使用ctrl+v方法(请参阅在 bash 中,如何将功能键绑定到命令?)或
bash-3.2$ ^[[1;10A (in this case I hit ctrl + v before shift+alt+up)
Run Code Online (Sandbox Code Playgroud)sed -n l(注意它是小写的L)。例如,如果您发送 ( shift++ alt) ,您可以看到应用程序收到的内容up:
bash-3.2$ sed -n l
^[[1;10A
\033[1;10A$
Run Code Online (Sandbox Code Playgroud)如果某些组合键未通过,您可以指示iTerm2让它通过并将其映射到您可以如上所述检测到的组合键。
例如,您可以发送并映射ctrl+ alt+ cmd+R到ESC+sdf,您的终端将收到^[sdf它,您可以将其分配给 Emacs 中的命令。
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |