私のpecoコマンド履歴検索

Table of Contents

zshで動きます。

#-----------------------------------------#
# hs: inc search in command history
#-----------------------------------------#
function peco-history-selection() {
    print -z `\history -n 1 | tail -r | peco --prompt "[hs]"`
    CURSOR=$#BUFFER
}
alias hs="peco-history-selection"

こだわっている点

キーをトリガーにしない

ネットではC-rとかのキーをトリガーにしているものがありますが、キーバインドの枯渇やmnemonicを考慮してhsのエイリアスコマンドにしている。

そのまま実行しない

過去のコマンドの一部を変更して実行するのはよくあることなので、pecoで選択したときに実行せずに入力部分に表示した状態にする。