拡張する方法 Ctrl+R zshで検索しますか?履歴ファイルにあるのにエントリが見つかりません。
編集:私の.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/history
を見つける必要がありますが(少なくともgrep
はそう言っています)、一致するものは見つかりません。
SAVEHIST=10000
を設定しましたが、HISTSIZE
をデフォルト値の30のままにしました。つまり、どのセッションでも最大30のエントリがメモリに保持されます。 append_history
オプションにより、履歴ファイルにはメモリに保持されるよりも多くの履歴が含まれる可能性があります。検索しているエントリがメモリにない場合、そのエントリは見つかりません。
簡単な修正:SAVEHIST
を大きく設定します。ほとんどの場合、SAVEHIST
とHISTSIZE
は同じ値である必要があります。
メモリが極端に不足している場合は、メモリに保持するエントリを少なくして、検索するときにのみロードするのが理にかなっていると思います。しかし、それはかなり小さな利益のために多くのコーディング努力のように聞こえます(10000エントリはメガバイトのようなものであり、シェルインスタンスにとっては大きいですが、問題外ではありません)。
(hist_ignore_all_dups
の代わりに)hist_find_no_dups
オプションを使用すると、履歴エントリからより良いマイレージを得ることができます。
この検索を「拡張」することは不可能だと思います。
デフォルト構成の場合 Ctrl+R ZSH Line Edtior(zle)の組み込み関数にマップされます:history-incremental-search-backward
ZSHマンページの履歴制御 を参照してください。
この機能を「拡張」する可能性はないようです。
見つからないエントリは何ですか?例はありますか?