My Note

自己理解のためのブログ

pecoセットアップ備忘録

Peco

  • pecoについて

導入手順

  • Linuxの場合(~/bin/に配置する場合)
$ wget "https://github.com/peco/peco/releases/download/v0.5.3/peco_linux_386.tar.gz"
$ tar xvzf peco_linux_386.tar.gz
$ cd peco_linux_386/
$ mkdir ~/bin
$ mv peco ~/bin/
$ cd ~/bin
$ chmod +x peco
  • Macの場合

  • .bashrc (~/bin/にpecoを配置する場合)

export PATH=$PATH:${HOME}/bin

peco-select-history() {
    declare l=$(HISTTIMEFORMAT= history | sort -k1,1nr | perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\s*//; $in=$_; if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' | peco --query "$READLINE_LINE")
    READLINE_LINE="$l"
    READLINE_POINT=${#l}
}
bind -x '"\C-r": peco-select-history'
  • .zshrc
function select-history() {
    local tac
    if which tac > /dev/null; then
        tac="tac"
    else
        tac="tail -r"
    fi
    BUFFER=$(fc -l -n 1 | eval $tac | peco --query "$LBUFFER")
    CURSOR=$#BUFFER
    zle -R -c
}
    zle -N select-history
    bindkey '^r' select-history
  • Pecoの実行画面例

f:id:yhidetoshi:20190617080714p:plain
peco