vselect

iselect
http://www.ossp.org/pkg/tool/iselect/
iselect も素晴らしいコマンドなのだが、デフォルトで入っているシステムはほとんどないため、積極的に使うのはためらわれていた。
そこで vim を使って代替スクリプト vselect を作ってみた。

#!/bin/sh
rm /tmp/vselect.tmp
vim -u NONE -N -c 'nnoremap <CR> yy2<C-w>wGP:w<CR>:qa!<CR>' \
-c 'nnoremap <space> yy2<C-w>wGP<C-w>p' \
-c 'set buftype=nofile' \
-c 'botright 6sp /tmp/vselect.tmp | wincmd p' \
- > /dev/tty
cat /tmp/vselect.tmp

使用例1(カレントディレクトリから選択したファイルを削除する)

rm -i `ls|vselect`

使用例2(tar.gz アーカイブから選択したファイルのみを抽出する)

tar ztf vim-2.0.tar.gz | vselect
tar zvxf vim-2.0.tar.gz -T /tmp/vselect.tmp

操作方法:
Enter 現在行を選択して終了
Space 現在行を選択
その他 vim の強力なコマンド