emacsでRails開発

Debian GNU/Linux squeezeインストール覚書の続き。

どんならんな:Emacs で Ruby 開発環境を参考にemacsRuby on Railsベースの開発が出来る環境を構築する。

まず、ruby-elispをインストール。

# aptitude install ruby-elisp

すると/usr/share/emacs22/site-lisp/ruby1.8-elisp に関連elispがインストールされる。

RubyForge: emacs-railsより、最新のemacs-railsをダウンロードする。ダウンロードしたならば、解凍し、拡張子が.elのファイルをemacsのloadパスが通ったところに置く。今回は先のruby-elispのファイルと同じディレクトリに置くことにする。

% wget http://rubyforge.org/frs/download.php/20976/emacs-rails-0.5.99.5.tar.gz
% tar xvfz emacs-rails-0.5.99.5.tar.gz
% cd emacs-rails
% sudo cp *.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

次にruby-block.elをここからダウンロードし、ruby-elispのファイルと同じディレクトリに置く。

% wget http://www.emacswiki.org/cgi-bin/emacs/download/ruby-block.el
% sudo cp ruby-block.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

その後、snippet.elをダウンロードし、ruby-elispのファイルと同じディレクトリに置く。

% wget http://www.kazmier.com/computer/snippet.el
# cp snippet.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

次にECBをインストールする。

% sudo aptitude ecb

また、ここからfind-recursive.elをダウンロードし、ruby-elispのファイルと同じディレクトリに置く。

% wget http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt
% sudo cp find-recursive.txt /usr/share/emacs22/site-lisp/ruby1.8-elisp/find-recursive.el

どんならんな:Emacs で Ruby 開発環境にあるように.emacsに以下の部分を付け加える。

;; ruby-mode
(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)))

;; ruby-electric
(require 'ruby-electric)
(add-hook 'ruby-mode-hook '(lambda () (ruby-electric-mode t)))

;; rubydb
(autoload 'rubydb "rubydb3x"
  "run rubydb on program file in buffer *gud-file*.
the directory containing file becomes the initial working directory
and source-file directory for your debugger." t)

;; rails
(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))
(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))
(setq rails-use-mongrel t)
(require 'cl)
(require 'rails)

;; ruby-block
(require 'ruby-block)
(ruby-block-mode t)

(setq ruby-block-highlight-toggle t)

;; ECB
(setq semantic-load-turn-useful-things-on t)
(require 'ecb)
(setq ecb-tip-of-the-day nil)
(setq ecb-windows-width 0.25)
(defun ecb-toggle ()
  (interactive)
  (if ecb-minor-mode
      (ecb-deactivate)
    (ecb-activate)))
(global-set-key [f2] 'ecb-toggle)

.emacsに付け加えたらM-x eval-bufferで読み込みをさせる。

使い方はどんならんな:Emacs で Ruby 開発環境を参照。