From: aks Date: 2007-07-23T03:05:11+09:00 Subject: Re: Ruby Editor > 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.. ;-)