Can someone explain what the differences between emacs and textmate are? Textmate seems a little more GUI oriented, but lots of things can be done with keyboard shortcuts.

I've heard that textmate keycombos are more intelligent. If you press Ctrl+I, textmate will insert a class, unless your cursor is in a class, then it will insert a method, unless it is in a method, when it will insert an if-statement.

Emacs isn't that clever, but you can do good things with abbrev and snippets. (you type par and then tab, and emacs expands it to params[:id], or liai, and it becomes link_to "text", :action => "action", :id => id, and you can step through the parameters with tab. Does textmate have this too?

Does textmate have rails specific things like a rails console (script/console), or an sql console? Does it have an integrated shell, or do you have to use an external shell? Does it have functions for jumping from view to controller (for example, if you are in app/views/a_contr/act.rhtml, you can jump to the action in the controller AContr#act.). Can you run webrick in the background? Does it have rake unittest integration? Ri integration?

Thanks.