我如何发布 MS-在 Mac OS Mavericks 上的 iTerm 中运行 Emacs?

我如何发布 MS-在 Mac OS Mavericks 上的 iTerm 中运行 Emacs?

当我按下该组合键时,我会听到铃声并看到0D字符打印到缓冲区,而不是执行绑定到该组合键的命令(在本例中为 org-table-delete-column)。 M-<left-arrow>但是工作正常。

经过一番调查,我认为M-<any-arrow>这样做之所以有效,是因为 iTerm 被配置为向终端发送这些键的特定十六进制序列。当我创建一个没有这些绑定的新配置文件时,所有M-<arrow>键都会导致打印铃声和字符。

所以我有几个问题。首先,那些十六进制序列是什么?我需要获得哪些序列才能M-S-<left-arrow>正确发出?为什么 iTerm 没有定义所有这些?最后,我们为什么要有它们?为什么 iTerm 不能直接将按下的键发送到终端并让它们按应有的方式工作,除了 iTerm 和 Mac OS X 所需的那些按键组合。

答案1

尝试将这些行添加到~/.emacs

(define-key input-decode-map "\e[1;10A" [S-M-up])
(define-key input-decode-map "\e[1;10B" [S-M-down])
(define-key input-decode-map "\e[1;10C" [S-M-right])
(define-key input-decode-map "\e[1;10D" [S-M-left])

在 shell 中使用cat -v或来查看转义序列。C-v

相关内容