Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Go製対話型フィルタリングツール「peco」

pecoはpytyon製ツールpercolを参考にgo言語で実装された対話型フィルタリングツールです。

使い方

通常のコマンドと同様、パイプで繋いで実行します。

$ ls | peco

pecoが実行されると、クエリの入力画面がでます。

QUERY>                                                     IgnoreCase [97 (1/5)]
121025/                                                                         
121212.log                                                                      
Applications/                                                                   
Desktop/                                                                        
Documents/                                                                      
...

十字キーがついている場合は、右左でページ送りができます。

QUERY>                                                     IgnoreCase [97 (2/5)]
blog.org                                                                        
blog.txt                                                                        
brewlist.log                                                                    
contor_data/                                                                    
contour_data.zip                                                                
development.sqlite3                                                             
development_withRole.sqlite3                                                    
emacs-w3m-1.4.4/ 
...

クエリを入力すると、フィルタリング結果がでます。

QUERY> txt                                                 IgnoreCase [12 (1/1)]
blog.txt                                                                        
hatenablog.txt                                                                  
labnote1031.txt                                                                 
lecturenote1101.txt                                                             
list.txt                                                                        
mail.txt                                                                        
memolize.txt                                                                    
note.txt                                                                        
ports.txt                                                                       
rectureMemo.txt                                                                 
sample.txt                                                                      
事業計画.txt  

デフォではAND検索です。

QUERY> txt ha                                               IgnoreCase [1 (1/1)]
hatenablog.txt                                                                  
                                                                                

終わったらエンターキーで確定です。

$ ls | peco
hatenablog.txt

導入

go getで楽々。それなりの大きさがあるので、コンパイルに多少時間はかかります。

$ go get github.com/peco/peco/cmd/peco

オプションで色々カスタマイズできる

スゴイ点として、キーバインドや色などの設定を自分で定義できる点が上げられます。
正規表現検索をデフォにしたり、一致した内容の色を自分好みに変更できたりします。
詳しい事は公式を参考にしてください。

参考もと