Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 找出给定键组合对应的转义序列_Emacs_Key Bindings_Iterm2 - Fatal编程技术网

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$