Bash:如何一次將遊標向左移動一個字?

Bash:如何一次將遊標向左移動一個字?

在 OSX 中,我可以按住option鍵並按左光標鍵,直到到達需要編輯的單字(或在 Vi 中,我可以直接點擊b,但我無法弄清楚如何在終端機中執行此操作)然而...

答案1

要設定鍵綁定:您首先必須找出Ctrl+Left鍵序列所建立的鍵碼。只需使用該命令cat關閉對現有按鍵綁定的任何干擾,然後鍵入按鍵序列即可。在我的系統(Linux)中,它看起來像這樣:

$ cat
^[[1;5D

Ctrl+d退出 cat。現在您已經發現 Ctrl-Left 發出 6 個關鍵代碼:

  • 轉義 (^[)
  • [
  • 1
  • ;
  • 5
  • D

現在您可以發出綁定命令:

bind '"\e[1;5D": backward-word'

答案2

您想要的 bash 函數是backward-word.您可以運行bind -q backward-word以取得綁定到該函數的鍵列表。一個常見的綁定是Esc+b

此外,許多終端支援Ctrl+ Left(您可以在 X 中使用相同的熱鍵按單字向後跳轉)

答案3

Bash 中的預設快速鍵backword-wordAlt+ b。使用Esc+可以獲得相同的結果b。您應該在編輯鍵綁定之前嘗試。

使用bind命令編輯或bind -q [name]取得特定操作的目前按鍵綁定。

相關內容