如何在 iTerm2 中將 Control+e 重新映射為 Escape+Control+e?

如何在 iTerm2 中將 Control+e 重新映射為 Escape+Control+e?

我在 iTerm2 中設定了一些自訂鍵盤快捷鍵,以便使用箭頭鍵輕鬆移動遊標,但現在我想將Ctrl+重新映射EEsc, Ctrl+E因為 Bash 4.2 不再使用該Tab鍵自動擴展變數。

我知道我在選擇要重新映射的鍵盤快捷鍵時正確完成了第一部分,但我不明白如何查找要在底部發送的正確轉義序列(或十六進位代碼):

圖片.png

我參考他們鍵盤代碼但這並沒有太大幫助。

我如何重新映射它,以及將來如何找到程式碼? (Google沒有運氣)

更新

@db - 謝謝。為了省去別人的麻煩我還找到了一個很酷的實用程序關鍵代碼.app可用於尋找關鍵程式碼:

圖片.png

答案1

使用以下內容:發送十六進位代碼:0x1B 0x05

  • Escape\033是 ASCII 27(如果你的 shell 不知道的話,它通常被寫成八進位 \e)。

  • Ctrl-[Character]組合產生與字母表中字元的位置相對應的 ASCII 代碼。眾所周知的例子是^HASCII 8 (退格鍵),^C對於 ASCII 3,文字結束,或^D對於 ASCII 4,傳輸結束,同樣,^E按 ASCII 5 的結果 — 因此需要傳送十六進位代碼。

您甚至可以使用它(我無法想像真正的用例,但我們不關心這一點)來代替按Enter(換行) 按^J,或Tab^I。看這裡有關控製字元的詳細資訊。

相關內容