zsh で rpm のタブ補完
zsh はコマンドの引数に応じて補完対象をかえてくれるのはとても便利です。私的に実用性が謎だったのが、 scp user@host: の後のタブ補完と、 rpm -qi の後のタブ補完でした。両方とも補完速度が尋常じゃなく遅いわけです。
で、後者は rpm -qa が遅いのだろう、ということで簡単にキャッシュしてみることにしました。
rpm -qa > /data/rpmqa
などとしてキャッシュを作り、
#!/bin/sh if [ "x$@" = "x-qa" ]; then exec cat /data/rpmqa else exec /bin/rpm $@ fi
という内容のコマンド(引数が -qa ならキャッシュを投げて、そうじゃなければ普通に rpm を実行)を ~/bin の下に rpm という名前で置いてみたところ、補完がとても快適になりました。