ja_JP.UTF-8 で refe

irb で ri を使う方法は知っていたが、refe にするとなおさら便利ですね。すごいや。

っつーわけで早速試したわけだが、refe の出力は euc-jp なので

% refe OptionParser | lv

とかしていたのだった。いい機会なので zsh のシェル関数にしてしまおう。alias だと引数の扱いが面倒臭そう、っつーかできないっぽい。

refe (){
/var/lib/gems/1.8/bin/refe $1 | iconv -f EUC-JP -t UTF-8
}

nkfUnicode を扱えるなら

refe (){
/var/lib/gems/1.8/bin/refe $1 | nkf -Ew8
}
かな。フルパスを指定してなくてループさせちゃったのは内緒だ。

追記

シェルから refe を実行する場合にはこれでいいが、irb 内で refe を参照する場合にはもちろん .irbrc 内で上の文字コード変換をしないとだめです。うは、気づかなかった。

追記2

puts `refe #{arg} | nkf -Ew8`

puts Iconv.iconv('UTF-8', 'EUC-JP', `refe #{arg}`)

puts `refe #{arg}`.kconv(Kconv::UTF8, Kconv::EUC)

puts NKF.nkf('-Ew8', `refe #{arg}`)

とで、どれが一番いいんだろうか。む、kconv は中で nkf を使っているのか。

追記3

refe s ind とすると ref s の結果になってた。

refe (){
/var/lib/gems/1.8/bin/refe "$@" | iconv -f EUC-JP -t UTF-8
}
ですな。