當我按下該組合鍵時,我會聽到鈴聲並看到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