ひきこもりエンジニア

私のpeco活用事例

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コミットくらいしてるんだけど、このプルリが一番良い変更だったと思う。

所感

ツールの使い方覚えるの正直大変だけど、省ける手間はできるだけ省きたい。