update: 同じことをしている方がいて、そちらのほうが優秀なので、下記参照 巷に公開されている peco-select-history だと、同じコマンドの履歴が沢山表示されて不便なので、ユニークに表示されるようにした。 ユニークにしたときに、順番が崩れないようにソートしなおしてる。 function peco-select-history() { BUFFER=$(\history 1 | \ sort -r -k 2 |\ uniq -1 | \ sort -r | \ awk '$1=$1' | \ cut -d" " -f 2- | \ peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen } zle -N peco-select-history bindkey '^r' peco-select-history