Bash

如何按原樣執行 ctrl+r 查詢而不是匹配?

  • August 26, 2020

有時,當我在 shell 中反向搜尋 cmd 時,我找不到正確的匹配項,只想按原樣執行搜尋查詢。

bash/zsh 和朋友有沒有辦法在不丟棄輸入的情況下執行它?

在 zsh 中,您可以使用變數LASTSEARCHLASTABORTEDSEARCH. 它們僅在編輯器小元件中可用。

編輯器小元件是一種功能,它已被製成編輯器小元件,zle -N並通過鍵綁定呼叫。(鍵綁定可以是ESC-x— :在 vi​​ 模式下。)

例如,以下程式碼綁定ESC-s以將目前命令行替換為最後的增量搜尋。如果您ESC-s在增量搜尋期間按下,則表示搜尋正在進行(中止)。

function set-buffer-last-search { LBUFFER=$LASTSEARCH; RBUFFER=; }
zle -N set-buffer-last-search
bindkey '\es' set-buffer-last-search

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