zshのコマンド履歴検索を楽にする
背景
過去に実行したコマンドを再利用したい
C-r キーでの検索ではなく、途中までコマンドを入力した状態からマッチする履歴を検索したい
解決方法
C-p / C-n に、前方一致検索のキーバインドを設定する
code:~/.zshrc
bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward
ついでに、C+s での前方検索 ( C+r と逆で前に戻る操作) もできるようにする
code:~/.zshrc
# C-s/C-q(画面のロックと解除)を無効化
setopt no_flow_control
ついでに履歴の設定も追加する
code:~/.zshrc
# 履歴ファイルのパス、履歴ファイルに保存する履歴の行数、履歴を保持する最大行数
HISTFILE=~/.zsh_history
HISTSIZE=1000000
SAVEHIST=1000000
# 重複を記録しない
setopt hist_ignore_dups
# ターミナル間で履歴を共有
setopt share_history
# 開始と終了を記録
setopt extended_history
# historyコマンドで日時を表示
alias history='history -t "%F %T"'
bash 編
C-p / C-n に、前方一致検索のキーバインドを設定する
code:~/.bashrc
bind '"\C-p": history-search-backward'
bind '"\C-n": history-search-forward'
ついでに履歴の設定も追加する
code:~/.bashrc
# 履歴ファイルのパス、履歴ファイルに保存する履歴の行数、履歴を保持する最大行数
HISTFILE=~/.bash_history
HISTFILESIZE=1000000
HISTSIZE=100000
参考URL
zshの履歴検索は↑やC-rだけじゃないよM-pもあるよ&履歴マニアの話 / マスタカの ChangeLog メモ
【Tips】zshの履歴検索の使い勝手を劇的に向上させる1行の設定 - ソフトアンテナブログ
zshのhistoryを便利に使うためのTips - Qiita
bash/zshで「入力途中の履歴補完」(not インクリメンタルサーチ) - Qiita
#Tips
#zsh