入力をunite.vimで絞り込めるコマンドpercov作った
tyru/percov · GitHub
id:moozさんのpercolにインスパイアされました。
使い方
$ find -type f | grep hoge | percov
みたいにするとvimが立ち上がってuniteで即座に絞り込める状態になります。
$ percov file
みたいにするとfileの内容を読み込みます。
ようするに入力を行ごとに絞り込めるってことですね。
id:moozさんのpercolはPythonで書かれてて自前で絞り込みを実装してるっぽい*1ですが、
unite-lineがあるので楽できました。
実装
実装は超簡単で、バッファの行を絞り込めるunite-lineというのがあるので、
バッファに入力を読み込んでからunite-lineを呼び出してるだけです。
シェルスクリプトです。
強いて言えば入力がなかったらuniteを立ち上げないようにしてるぐらいです。
#!/bin/sh # # percov - Start unite-line if buffer is not empty. READ_FROM_PIPE= [ -t 0 ] || READ_FROM_PIPE='-' vim -c 'if line("$") !=# 1 || getline(1) !=# "" | execute "Unite -no-split line" | endif' $READ_FROM_PIPE "$@"
*1:違ったらごめんなさい