かわちょぶろぐ

三十路のヒゲ男がぶたさんグッズを集めていたりするブログ。

ruby-mode の設定

自宅の PC の Emacs(Meadow) に ruby-mode を入れた(入れ直した)。

Meadow は NetInstall でインストール済みだとして。

2008-01-17 追記: Meadow NetInstall パッケージに ruby-mode が追加されたので、それをインストールして、~/.emacs にはインデント幅の設定を足すだけで良くなりました。

ruby-mode は Ruby の中に入ってるので、まずは Ruby の公式サイトへ。1.8 系列(安定版)の配布物をダウンロードして展開。展開したら ruby/misc ディレクトリにある Emacs Lisp ファイル(.*.el)を適当なディレクトリに。例えば ~/emacs-lisp/ruby とか。

  • README
  • rdebug.el
  • ruby-mode.el
  • rubydb2x.el
  • inf-ruby.el
  • ruby-electric.el
  • ruby-style.el
  • rubydb3x.el

~/.emacs に設定を。まず load-path を通す。emacs/site-lisp とか、はなからパスが通ってるところに入れた場合は不要。

(add-to-list 'load-path "~/emacs-lisp/ruby")

ruby-mode などを使えるようにしたり、*.rb ファイルに関連付ける設定。

(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
(setq auto-mode-alist (cons '("\\.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)))

閉じかっこや end を挿入してくれる ruby-electric.el の設定も足しておく。

;; ruby-electric.el --- electric editing commands for ruby files
(require 'ruby-electric)
(add-hook 'ruby-mode-hook '(lambda () (ruby-electric-mode t)))

ruby-mode でのインデントの設定。スペース 2 個の場合(これがデフォルト)。その他、設定は M-x customize-group RET ruby で。

(setq ruby-indent-level 2)
(setq ruby-indent-tabs-mode nil)