Emacs + ECB + Ruby環境を整える。

Emacs で Ruby 開発環境 - どんならんな
Emacsでも(でもってか)、こんな↑かっこいいことになるらしいので入れてみた。
id:yuko1658さんのサイトにある方法でインストール。しかし、emacs-railsのところで落ちてしまし、ecbは起動出来る状態なんだけどそれのせいで全然気づかなかった。とりあえず、今はemacs-railsの記述は.emacsファイルではコメントにしてる。

あと、ecbとcedetは上記記事にあるものより新しいのが出てたのでそいつを入れてみた。

  • ecb-2.40
  • cedet-1.0pre6

出来上がったのがこんな↓感じ。ディレクトリの表示が新しくなってるっぽい。Emacsじゃないみたい。でも、みんなのECBみたいにかっこよくないなー。これはフォントと背景色のせいだなー。デフォルトのキーバインドも変わってるっぽい。私のは↓こんな感じでした。

あと、Emacs立ち上がった後「F2」でECBは起動するんだけど、最初ディレクトリ部分が真っ白、なんだよね。色々クリックしまくってたら出てきたけど、、普通どうするのかな。毎回クリックしまくるのは大変だな。

.emacsは以下のとおり。id:yuko1658さんとこのコピーです。で、railsの部分はコメントにしておいて(とりあえず)、ecb、cedetはバージョン違うので修正。

;; ~/elisp をライブラリパスに追加
(setq load-path
      (append
       (list
        (expand-file-name "~/.emacs.d/elisp/")
        )
       load-path))

;; 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(とりあえずコメント)
;(setq load-path (cons "~/.emacs.d/elisp/emacs-rails" load-path))

;(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 load-path (cons (expand-file-name "~/.emacs.d/elisp/ecb-2.40") load-path))
(load-file "~/.emacs.d/elisp/cedet-1.0pre6/common/cedet.el")
(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)