zshで履歴検索を拡張する

zshで履歴検索を拡張する

Ctrl+Rzshで検索を拡張する方法は?履歴ファイルにありますが、エントリが見つかりません。

編集する:私のもの.zshrc

setopt AUTO_CD
setopt CORRECT_ALL
setopt EXTENDED_GLOB
# History
SAVEHIST=10000
HISTFILE=~/.zsh/history
setopt APPEND_HISTORY
setopt EXTENDED_HISTORY
setopt INC_APPEND_HISTORY
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_SPACE
setopt NO_HIST_BEEP
setopt SHARE_HISTORY
# Keys
autoload zkbd
[[ ! -d ~/.zkbd ]] && mkdir ~/.zkbd
[[ ! -f ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE} ]] && zkbd
source  ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE}
[[ -n ${key[Home]}    ]]  && bindkey  "${key[Home]}" beginning-of-line
[[ -n ${key[End]}     ]]  && bindkey  "${key[End]}"     end-of-line
[[ -n ${key[Insert]}  ]]  && bindkey  "${key[Insert]}"  overwrite-mode
[[ -n ${key[End]}     ]]  && bindkey  "${key[End]}"     end-of-line
[[ -n ${key[Insert]}  ]]  && bindkey  "${key[Insert]}"  overwrite-mode
[[ -n ${key[Delete]}  ]]  && bindkey  "${key[Delete]}"  delete-char
[[ -n ${key[Up]}      ]]  && bindkey  "${key[Up]}" up-line-or-history
[[ -n ${key[Down]}    ]]  && bindkey  "${key[Down]}" down-line-or-history
[[ -n ${key[Left]}    ]]  && bindkey  "${key[Left]}"    backward-char
[[ -n ${key[Right]}   ]]  && bindkey  "${key[Right]}"   forward-char
# Auto completion
autoload -U compinit promptinit
compinit
promptinit
prompt clint
zstyle ':completion::complete:*' use-cache 1
# MIME
autoload -U zsh-mime-setup
zsh-mime-setup
# Calc
autoload -U zcalc
# Editor
export EDITOR=vim
# Useful
alias background="schedtool -B -e"
alias lowprio="nice -n 20 ionice -c 3"
alias blowprio="ionice -c 3 schedtool -B -e nice -n 20"

cave resolve -c(少なくとも言えば)見つかるはずですが、一致するものが見つかりませblowprio cave resolve -c world -C a -R w --resume-file resume-worldん。.zsh/historygrep

答え1

すでに設定していますが、デフォルト値の30SAVEHIST=10000のままにしています。HISTSIZEこれは、すべてのセッションがメモリに最大30個のエントリを保持することを意味します。このオプションのおかげで、append_history履歴ファイルにはメモリに保存できるよりも多くの履歴を含めることができます。検索中の項目がメモリにない場合は見つかりません。

簡単な修正:設定をSAVEHIST大きくします。ほとんどの場合、値SAVEHISTHISTSIZE同じでなければなりません。

メモリが非常に不足している場合は、メモリに少ない数のアイテムを保持して検索するときにのみロードするのが妥当であると思います。しかし、これはやや小さな利点のための多くのコーディング努力のように聞こえます(10000項目は約1 MBで、シェルインスタンスでは大きいが不可能ではありません)。

hist_ignore_all_dups(代わりに)このオプションを使用すると、履歴アイテムからより良いマイルを得ることができますhist_find_no_dups

答え2

私はこの検索を「拡張」することが可能だとは思わない。

デフォルト設定では、Ctrl+RZSH Line Edtiorの組み込み機能にマッピングされます(ズラー):history-incremental-search-backward

バラよりZSHマンページの記録制御

この機能を「拡張」する可能性はないようです。

見つからない項目は何ですか?どんな例がありますか?

関連情報