我如何發出 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

相關內容