我非常習慣使用 alt-left 轉到之前的單字(如果你使用 vim,那就是 'b'),使用 alt-right 轉到下一個單字的開頭。
然而,在 Mac 終端機(iterm 和 iterm2)上,我分別得到 ;9D 和 ;9C。我可以使用 fn+left 轉到行首,但我仍然發現這確實很不方便。
任何想法如何解決這個問題?
答案1
如果您使用的是bash
shell,請將以下內容新增至您的~/.inputrc
:
"\e[1;9C": forward-word
"\e[1;9D": backward-word
按Ctrl-X,Ctrl-R或重新啟動 shell 以套用變更。
筆記:上面的部分轉義序列,特別是1
,我必須根據 Xterm 使用的內容進行猜測。
答案2
在 OS X Lion 的終端機中,這可以按預期工作。否則,您可以嘗試 Mb 和 Mf(Meta 鍵可能是 option 或 escape,具體取決於您的終端程式)。
答案3
您可以在終端首選項中映射Option-Left/Right Arrow到Esc- b/f。這些將與 bash(預設 shell)和任何具有 Emacs 相容鍵綁定的程式一起使用。
終端機 > 首選項 > 設定 > [設定檔] > 鍵盤
點選加號按鈕新增映射:
鍵:遊標向左
修飾符:選項
操作:將字串傳送至 shell
字串:\033b
(按 Esc 鍵輸入“\033”。)
然後再增加另一個「遊標向右」到「\033f」的對應。
從 Mac OS X Lion 10.7 開始,終端機的預設鍵盤映射包含這兩個條目,因此無需執行此操作。