x輸入-Ctrl+如果歷史向後搜尋被映射,則行為不當

x輸入-Ctrl+如果歷史向後搜尋被映射,則行為不當

我在我的中使用這些行~/.inputrc

"\e[5~": history-search-backward
"\e[6~": history-search-forward

透過這些設置,當我c在提示下鍵入並執行時,bash 僅顯示從歷史記錄PageUp開始的命令。則相反。我發現這對我來說非常有成效。cPageDown

Ctrl當我執行+操作時,如果我的 inputrc 檔案中沒有這些行Left,遊標將用於向左移動一個單詞,而Ctrl+Left則相反。但是透過上面提到的那些設置,當我執行Ctrl+LeftCtrl+時,Right它會列印;5Dand ;5C

那我該如何讓Ctrl+ Left& Ctrl+Right做對的事呢?

答案1

readline這些運動的兩個命令是forward-wordbackward-word。您可以使用(預設的 emacs 綁定)分別存取它們: AltfAltb

Left要使用和鍵進行工作Right,您需要在~/.inputrc.

首先,透過從終端獲取這些按鍵的原始輸出來確認正確的轉義序列:輸入Ctrlv CtrlLeftCtrlv CtrlRight並記下序列(類似於^[Oc^[Od)。然後將這些行附加到您的.inputrc

"\eOc": forward-word
"\eOd": backward-word

全部讀行命令可以在你的身上反彈.inputrc

答案2

請注意,這些序列可能因終端而異。從您的文字來看,您似乎使用 gnome-terminal 。

# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word

相關內容