プレビューを含むリアルタイム検索履歴を見たことがあります。BUFFER行の下のリストに履歴の最初の10件の一致が表示され、キーを押すたびに更新され、残りの時間は標準のCtrl + R検索と同様に機能します。 (ただし、この機能を使用するユーザーが3週間消えて連絡が取れません)
tl;dr: このプラグイン/スクリプトをご存知で、私にリンクしていただける方はいらっしゃいますか?
または、プログラムしてリストを正しく更新するのに役立ちますか?
私の現在のコードは次のように更新されていません(最初から静的リストにすぎず、検索は完全に自然には見えません)。
zle -N search
bindkey "^R" search
search () {
echo "";
fc -ln -30 | grep $(printf "%q\n" "$BUFFER");
<standard-history-backwards-search-widget>; #not on linux atm
}
ベストアンサー1
あなたはすでに知っているかもしれませんzsh-history-substring-search
。
私が知っているのは、今見ているプレビューは実行されていませんが、それ以外は非常に似ているようです。
知らないなら試してみる価値があります。
zsh-history-substring-search
緊密なfish
シェルベースの履歴検索。fish
インタラクションの面で確かに学ぶ価値があるいくつかの高度な機能があります。残念ながら。bash
zsh
また、解決策ではありませんが、密接に関連しています。
zshディストリビューションには、history-beginning-search-menu
探しているタスクの一部を実行しますが有用ではないウィジェットが含まれています。
autoload -Uz history-beginning-search-menu
zle -N history-beginning-search-menu
bindkey '^P' history-beginning-search-menu
現在の入力から始まり、履歴行をリストし、リストから番号で選択します。
以下で+を押しますControl。P|
$ dialog -|
Enter digit:
1 dialog --infobox text 5 15| sed 's/...104..//'
2 dialog --yesno SomeText 0 0
3 dialog --yesno text 0 0
4 dialog --yesno text 5 15