Bash

使用我剛剛輸入的前綴搜尋上一個命令

  • December 9, 2021

我們可以使用向上和向下箭頭在命令歷史記錄中導航。

在某些 IDE 中,例如 Matlab,如果我們輸入一些內容然後按箭頭鍵,我們只會在以我們輸入的內容開頭的歷史命令之間滾動。這真的很方便,但是在 shell 終端中,這不起作用。

有沒有辦法在 shell 終端中獲得類似的功能?還有其他提高終端使用效率的技巧嗎?

您正在尋找的是Ctrl``R.

鍵入Ctrl``R,然後鍵入所需命令的一部分。Bash 將顯示第一個匹配的命令。繼續輸入Ctrl``R,bash 將循環通過以前的匹配命令。

要在歷史記錄中向後搜尋,請鍵入Ctrl``S。(如果Ctrl``S對您不起作用,那可能意味著您需要禁用 XON/XOFF 流控制:為此,請執行stty -ixon。)

這記錄在 中的“搜尋”下man bash

把這些放在你的~/.inputrc

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

這些製造Page UpPage Down行為如您所願。(某些發行版已經為您配置了它。)我個人覺得這些方式比Ctrl+R或更方便history

引用自:https://unix.stackexchange.com/questions/231605