Bash
使用我剛剛輸入的前綴搜尋上一個命令
我們可以使用向上和向下箭頭在命令歷史記錄中導航。
在某些 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 Up
和Page Down
行為如您所願。(某些發行版已經為您配置了它。)我個人覺得這些方式比Ctrl
+R
或更方便history
。