inf-rubyメモ

そういや、inf-rubyって、あまり使ったことなかったなぁ、ということで使い方メモ。

設定

inf-ruby.el の先頭に説明があるので、そのとおりにすれば良い。

(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                              interpreter-mode-alist))

(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
      '(lambda ()
         (inf-ruby-keys)
))

使い方

C-c C-s もしくは M-x run-ruby でウィンドウが開いてruby インタプリタ (というより irb) が起動する。
あとは以下のキーバインドに従って、Lisp Interaction mode のごとく、 Ruby のコード断片を評価できる。

C-c C-b ブロックを評価
C-c C-x メソッド定義ブロックを評価
C-c C-r リージョンを評価
C-c C-z インタプリタのウィンドウに移動
C-c C-l ファイルをロードする

あと、評価用のキーバインドは 2ストローク目のControlを Meta に変えれば評価後、そのままインタプリタ用のウィンドウに移動できる。(例:C-c M-b => ブロックを評価してインタプリタウィンドウに移動)