Terminal
終端中的控制和向上/向下鍵供 emacs 使用
是否可以在終端視窗中執行 emacs 時使用
C-up
(C-down
從帶有-nw
標誌的命令行啟動 emacs 時)?當我按下這些鍵C-up
並C-down
讓這些鍵在 emacs 中工作時,我的終端應該發送什麼?我在 Mac OSX 上,使用 iterm2 ssh 到遠端 linux 伺服器,我從 bash 啟動 emacs 會話。
終端知道字元,而不是鍵,因此沒有相應字元的鍵需要被轉換為轉義序列並返回。
您可以選擇任何不會導致任何衝突並且 iterm2 和 Emacs 同意的控制序列。不幸的是,這些控制序列不是標準化的。
\e[1;5A
並且\e[1;5B
是流行的選擇(其中\e
是轉義字元)。Emacs 有一個相當複雜的系統來將轉義序列轉換為鍵。請參閱手冊中的翻譯鍵映射。
input-decode-map
除非您有沒有它的舊版本的 Emacs,否則請使用它。(define-key input-decode-map "\e[1;5A" [C-up]) (define-key input-decode-map "\e[1;5B" [C-down])
在 iterm2 中,在您的配置文件的“鍵”選項卡中設置相應的鍵序列。請參閱如何讓 control+left 箭頭在 iTerm2 中返回一個單詞?插圖指南。