pecoというインタラクティブに入力をフィルタして出力するコマンドがあって、使い始めてからシェルの操作方法が大幅にかわり、だいぶライフチェンジングだった。
最近このへんが流行ってるのでやたら記事あるけど、せっかくなので僕も使い道を紹介しようと思う。
1. ghq+peco
ghqを使ったローカルリポジトリの統一的・効率的な管理についてのこと。
僕も$GOPATH
は$HOME
にしていて、今のところ別に困ることはない。
go get
したりghq get
したりして美しくディレクトリ切った上で、pecoに割り当てておいたC-s
ですぐ目的のディレクトリ開けるようにしてあるので、めちゃくちゃソース管理が楽になった。
ちなみにC-s
にbindkeyするのちょっとハマって、stty -ixon
しないと動かなかった。
2. git branch
alias -g B='`git branch | peco | sed -e "s/^\*[ ]*//g"`'
B
というグローバルエイリアスを割り当てていて、git checkout B
とかgit branch -D B
とかやる。
なんかその一連の流れを1つのエイリアスにまとめてる人がいるけど、個人的にはブランチ名が来るべきところにエイリアス打つのが一番しっくり来る。
ちょっと前までzshのcompletionもまともに使ってなくて、ブランチ長いのうつのめんどくさいなーと思ってたけど、効率よく作業できるようになった。
補完使うよりも最初から候補が綺麗に画面に出てカーソル移動して選択できるほうが便利。
3. select history
C-rをpecoで選べるようにするやつ。
pecoとかpercol使ってる人みんなやってると思う。すごい便利。
4. process kill
今書いた。
プロセス殺すの、長い間ps -ef | grep hoge
みたいなことして目でpid見て手打ちしてkillするみたいなことやってて、これなんとかしたいという思いがずっとあった。
であと、プロセス殺す時は同名のやつを同時に複数殺したいということが割りとあり、このgifみたいに範囲選択が楽にできるようにした。
若干vimっぽく操作できる。C-v
で範囲選択開始してる。
今のところpecoに17コミットくらいしてるんだけど、このプルリが一番良い変更だったと思う。
所感
ツールの使い方覚えるの正直大変だけど、省ける手間はできるだけ省きたい。