irb を快適に使うための Tips
このエントリは
Ruby Advent Calendar jp: 2009 : ATNDの7日目のエントリです。
上記のページに書いてあるとおり、12月中に1日から25日まで一つずつ Tips を書いていこう!という企画で、その7日目がぼくの担当となっています。
- 前のエントリはこっち:Ruby1.9に対してできること - takkan_mのNo planな日常
- 次の人はこっち: Road To RDoc - はてなかよっ!
ここからが本題
というわけで irb の設定ファイルを書いて快適になろう!
前提知識
設定はHOME の .irbrc に設定を書くと irb 起動時に読み込んでくれます。
例えば Linux や Mac では ~/.irbrc に書けば良いです。ここらへんは .vimrc などと一緒なのでおなじみですね。
では Windows では? %USERPROFILE% のあるディレクトリに .irbrc ファイルを置けば良いです。
%USERPROFILE% は、ふつーに使ってれば c:\Documents and Settings\ユーザ名 になります。
ちなみに、 .irbrc は Windows だと直接名前をつけられないので、 move hoge.irbrc .irbrc のように、コマンドプロンプトからファイル名を変更してあげる必要があります。
コンフィギュレーション
Ruby Reference Manual - るりま
irb 起動時に ~/.irbrc を読み込みます. もし存在しない場合は, カレントディレクトリの .irbrc, irb.rc , _irbrc, $irbrc の load を順に試みます.
(本当は新マニュアルの方を指したかったけど、見つからなかった。。。)
には、 .irbrc じゃなくても良いよ! と書いてありますが、それ以外はすべて読み込んでくれなかったので、多分この情報が古いのでしょう。。。
じゃあ、どんな設定してるのさ
全然たいしたことは書いてないんですけどねw
#require 'irb/completion' require 'pp' require 'rubygems' require 'wirble' # 沢山記憶するよ IRB.conf[:SAVE_HISTORY] = 100000 Wirble.init Wirble.colorize
こんな感じ。
具体的に解説すると
require 'irb/completion'(コメントアウトだけど)
これは require 'wrible' を使うまでは有効にしていた行で、有効にしておくと、 TAB による補完が有効になります。
例えば
>> 123.to_ # ここでTAB 123.to_a 123.to_i 123.to_s 123.to_yaml_properties 123.to_enum 123.to_int 123.to_sym 123.to_yaml_style 123.to_f 123.to_r 123.to_yaml
のような感じです。
あと、よく使うライブラリのロード
pp のように常用しそうだけど require しないと使えないようなライブラリはここで読み込んでおくと良いでしょう。
あと、なぜか Mac になってから NKF は require しなくても使えるようになったので削除しましたが、Windows で 1.8系の場合は有効にしておいた方が何かと便利かも。
require 'wirble'
rubygems でインストールしたライブラリです。
このライブラリで、colorize*1 を使うと、irbの実行結果に色がついて楽しい感じになります。
Pablotron: Wirbleにある本家のサイトの、 を見るといろいろな設定や、カラーテーマの変更方法とかがあるので、気にくわない人は変更すると良いかも。
ちなみに、Winodws だと colorize がとても残念なことになる。コマンドプロントでは制御コードによる色の変更ができなくて、制御コードがそのまま標準出力に流れてきてしまう><
対応方法がありました。下記の追記を読んでね。
追記 12/07
コメント欄で yhara さんから Windows でも colorize できる方法を教えていただきました!!
gem install win32console で win32console ライブラリをインストール後、 .irbrc に
require 'rubygems'
require 'win32console'
としておけば、Wirble.colorize が Windows でも有効になります!素晴らしい!!!
まとめると
- よく使うライブラリは requier しておくと良いよ
- Wirble 入れると色付きや補完機能が有効になるよ
- でも Windows では色がつかないよ(追記に記載したとおり、win32console を入れると色が付きます!)
- 色の表示意外に目当てがなければ、Wirble は必要ないよ
- 補完と履歴は require 'irb/completion' と IRB.conf[:SAVE_HISTORY] = 100000 で十分だよ
という感じですかね。
あまり凝った設定をしているわけではないですけど、よく使う分、ちょっとした事で快適になれる好例だと思います。
みなさんのオススメの設定とかあれば教えて下しあ!><
最後に
素敵な企画をしてくださった @yhara さんありがとうございます!
*1:Wirble.init のあとに Wirble.colorize を使ってね