Bash
bash中的非錨定歷史子字元串搜尋
有兩種現有的方法可以輕鬆獲得這樣的東西:
- zsh 的歷史子串搜尋外掛
- bash 的
ctrl+r
模式zsh 的問題在於它不在許多系統上。bash 實現的問題在於它需要我先按 ctrl+r。另外,我知道
history-search-backward
bash,但它*固定在命令的開頭,*並且沒有那麼強大。我希望有一種方法可以在 bash 中綁定 up 鍵來實現它:
- 複製目前鍵入的命令緩衝區
- 進入
ctrl+r
模式- 在該模式下粘貼目前類型的命令緩衝區
以及隨後按向上鍵
- 點擊
ctrl+r
(搜尋下一個上一個)
Bash 4.4 具有
history-substring-search-backward
執行此操作的可綁定命令。從新聞文件:2. New Features in Readline <...> b. There are new bindable commands to search the history for the string of characters between the beginning of the line and the point (history-substring-search-forward, history-substring-search-backward)