Antes de mais nada, o ambiente de desenvolvimento ideal é no momento, porque daqui a um mês posso mudar de opinião, mas o importante é que com as atuais modificações significaram muito para a minha produção, comecei a produzir com mais prazer e com mais agilidade, devido as novas modificações que eu fiz.
Atualmente tenho falado bastante sobre a minha mudança radical para o emacs. Mas o emacs puro não tem nada que modifique a sua produtividade em
ruby e
rails como um
TextMate ou um
Aptana RadRails, pois ele não tem os recursos específicos da linguagem e do framework, como console, MVC e
autocomplete de código e marcação, ele só tem a coloração do código e de seus recursos próprios.
Foi então que neste fim de semana passado eu resolvi procurar configurações ideais para o emacs direcionado especificamente ao ruby e rails, bem como código xhtml + erb e css.
Na busca, encontrei
este screencast fantástico em que o cara mostra o emacs funcionando como os famosos editores de ruby que já comentei anteriormente. Neste screencast dizia por cima
os recursos que ele usou no screencast, foi aí que eu fui buscar de novo, e caí na
wiki do rails, em um texto que mostra
como deixar o emacs funcionando pra desenvolver em rails com alguns recursos do textmate, como o
autocomplete de código, marcação erb e xhtml. Além desses recursos, existe uma integração do emacs com toda a estrutura do rails, como a possibilidade de trabalhar com o console do rails e o irb no emacs, iniciar o server em mongrel ou WEBrick, geradores do rails, entre outros, como é possível ver
neste screencast linkado nesta wiki.
Vale lembrar que embora este usuário que está demonstrando utilize muito o mouse, o rails-mode pro emacs como os outros recursos que eu instalei, tem mapeamento de teclado e não é necessário se assustar com isto. O próprio emacs code browser, ou ECB, tem mapeamento de teclado.
Meu ambiente de desenvolvimento após as modificações:

* O importante é saber que o visual é você que faz. Eu utilzei neste caso o tema Gray30, presente no Color Themes do emacs e setei a fonte .emacs. Abaixo o meu arquivo de configuração do emacs.
(set-default-font "lucidasanstypewriter-10")
(require 'color-theme)
(color-theme-gray30)
(mouse-wheel-mode)
(global-font-lock-mode 1)
(custom-set-variables
(require 'php-mode)
'(column-number-mode t)
'(cua-mode t nil (cua-base))
'(ecb-options-version "2.32")
'(message-log-max 150)
'(rails-ws:default-server-type "webrick")
'(scroll-bar-mode (quote right))
'(text-mode-hook (quote (text-mode-hook-identify)))
'(transient-mark-mode t))
'(mouse-wheel-mode t)
(defun up-slightly ()
(interactive)
(scroll-up 5)
)
(defun down-slightly ()
(interactive)
(scroll-down 5)
)
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)
(column-number-mode 1)
(custom-set-faces
)
(add-to-list 'load-path
"/usr/share/emacs22/site-lisp/ecb/")
setq load-path (cons "~/.emacs.d/css-mode" load-path))
(require 'css-mode)
(autoload 'css-mode "css-mode")
(setq auto-mode-alist
(cons '("\\.css\\'" . css-mode) auto-mode-alist))
(setq load-path (cons "~/.emacs.d/rails" load-path))
(require 'rails)
(setq ri-ruby-script (expand-file-name "~/emacs.d/ri/ri-emacs.rb"))
(autoload 'ri "ri-ruby.el" nil t)
(setq load-path (cons "~/.emacs.d/mmm-mode" load-path))
(require 'mmm-mode)
(require 'mmm-auto)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 2)
(set-face-background 'mmm-output-submode-face "Gray25")
(set-face-background 'mmm-code-submode-face "MediumSlateBlue")
(set-face-background 'mmm-comment-submode-face "DarkOliveGreen")
(mmm-add-classes
'((erb-code
:submode ruby-mode
:match-face (("<%#" . mmm-comment-submode-face)
("<%=" . mmm-output-submode-face)
("<%" . mmm-code-submode-face))
:front "<%[#=]?"
:back "-?%>"
:insert ((?% erb-code nil @ "<%" @ " " _ " " @ "%>" @)
(?# erb-comment nil @ "<%#" @ " " _ " " @ "%>" @)
(?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @))
)))
(add-hook 'html-mode-hook
(lambda ()
(setq mmm-classes '(erb-code))
(mmm-mode-on)))
(add-to-list 'auto-mode-alist '("\\.rhtml$" . html-mode))
(require 'snippet)