I deeply respect Vim. I am convinced that there is no more elegant way
to do simple or complex manipulation of text/code. However, learning
These two editors have a steep learning curve, if you want to use them
effectively. (Don’t bother trying, otherwise.) I would think that Vim is
a little better for beginners, because it will force you to learn
without being overly difficult. It is too easy to use Emacs without
learning about its advanced features, and that would be a waste.
Apologies for continuing the “off-topic” replies to the original
question about how to best use TextMate for editing Ruby programs…
but …
In regard to “vi” vs. “emacs”, it doesn’t have to be “either - or”: I
use “viper” within Emacs and get the best of both worlds.
IMHO, the strength of “vi” (“vim”, “nvi”, etc.) are that it is the
best at “word processing” – editing chunks of text, with a minimum of
keyboard input, and without having to use a mouse. While, in
contrast, the strength of “emacs” is that it can easily be extended in
very useful ways to accomplish things that are not normally
accomplished within an “editor”. For example, take a look at “orgtbl-
mode.el”, “table.el”, “calendar.el”, and, most amazingly, the
“calculator.el” mode.
Of course “vi” (and it’s clones) are also customizable, and amazing
extensions have been built for them, but there is an order of
magnitude of difference between those of “vi” and those of “emacs” –
the latter of which have a depth that those of the former would have
to work very hard indeed to match.
In any case, with “viper” you can have both worlds: the best of vi’s
superior editing keystrokes with the platformed extensibility of
emacs.
Finally, to bring this back to ruby, in the standard Emacs “site-lisp”
directory, I find these extensions for Ruby: inf-ruby.el, ruby-
electric.el, ruby-mode.el. The first one supports doing real-time
evaluation of ruby expressions within an “inferior” process. The
“electric” mode supports dynamic insertion of ruby syntactic elements
as a convenience to the programmer, and the last is the basic mode for
editing ruby programs – which supports things like indention/
exdention, face-control for syntactic elements, etc.
The reason I bring these modules up is that, if you are concerned (as
some previously have stated) with the viability of your editing
environment, and consider TextMate not suitable because you don’t
trust that their development will support their product as long as you
want to develop using it, then you may wish to consider using either a
vi clone with a ruby extension, or Emacs with these standard ruby
modules, or Emacs with these ruby modules AND viper-mode. Both vi and
emacs (not the extensions) are open-source, and have been around
longer than most of you (but not me – I started writing assembly code
on Univac mainframes in the early 70s, before Emacs was even a glimmer
in Stallman’s eyes
Now, perhaps we can discuss Ruby stuff again…