【peco】たった4つの設定で最高の環境を手に入れる


pecoを使い続けて早1年。
pecoを使うと、さまざまな場面でインクリメンタルサーチベースでコマンドを実行することができます。

あまりに便利なので、pecoを絡めたコマンドを毎日のように使っています。
この1年でいろんな使い方をしてみましたが、最終的に4つに集約されました。

ということで、毎日のように利用している4つのコマンドを紹介してみる。

環境

OS: macOS High Sierra
ターミナル: iTerm2
シェル: Zsh  ※ インストールは $ brew install zsh

【Histroy】検索

とにかくオススメ。通常の履歴検索にはもう戻れない。

.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

ghq】Gitリポジトリにcd

シェル起動 → 「g」 の安定の流れ。

.zshrc
alias g='cd $(ghq root)/$(ghq list | peco)'

Git】ブランチ切り替え

増えがちなローカルブランチに一瞬で切り替えれる。

.zshrc
alias -g lb='`git branch | peco --prompt "GIT BRANCH>" | head -n 1 | sed -e "s/^\*\s*//g"`'

Docker】コンテナ内に入る

docker ps でコンテナ名調べて...コピーして...みたいなのがなくなり最高。

.zshrc
alias dps='docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Command}}\t{{.RunningFor}}"'
alias de='docker exec -it `dps | peco | cut -f 1` /bin/bash'