Bash

命令歷史中的命令行補全

  • July 14, 2018

所以,我查看了歷史和Ctrl+ R,但它們並不是我以為我知道的。有沒有一種方法可以讓我在命令的開頭鍵入,並使用一些 bash 快捷方式循環瀏覽歷史記錄中的匹配項?

# mysq(some shortcut key)

給我:

# mysqldump  --add-drop-table -e -q -n -C -u 
(some shortcut key)
#  mysql -u ben.dauphinee -p

Ctrl+R將打開反向歷史搜尋。現在開始輸入您的命令,這將給出第一個匹配項。通過再次(再一次)按Ctrl+ ,您可以循環瀏覽歷史記錄。R

mysq(Ctrl+R)

會給:

mysqldump  --add-drop-table -e -q -n -C -u 

Ctrl+R再次:

mysql -u ben.dauphinee -p

為了擴展 Gilles 所說的內容,我有以下內容.inputrc將向上/向下箭頭鍵綁定到history-search-backwardand history-search-forward

# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward

只需鍵入一些內容(可選),然後按向上/向下箭頭鍵在歷史記錄中搜尋以您鍵入的內容開頭的命令。

要在.bashrc而不是中執行此操作.inputrc,您可以使用:

bind '"\e[A": history-search-backward'

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