vim is a pretty nifty rails editor provided that the
rails.vim plugin is installed. Here is a listing of some of its features:
1. Automatically detects buffers containing files from Rails applications, and applies settings to those buffers (and only those buffers). You can use an autocommand to apply your own custom settings as well.
2. Unintrusive. Only files in a Rails application should be affected; regular Ruby scripts are left untouched. Even when enabled, the plugin should keep out of your way if you're not using its features.
3. Provides reasonable settings for working with Rails applications. Rake is the 'makeprg' (and it always knows where your Rakefile is), 'shiftwidth' is 2, and 'path' includes an appropriate collection of directories from your application.
4. Easy navigation of the Rails directory structure. gf considers context and knows about partials, fixtures, and much more. There are two commands, :A (alternate) and :R (related) for easy jumping between files, including favorites like model to migration, template to helper, and controller to functional test. For more advanced usage, :Rmodel, :Rview, :Rcontroller, and several other commands are provided.
5. Enhanced syntax highlighting. From has_and_belongs_to_many to distance_of_time_in_words, it's here. For easy completion of these long method names, 'completefunc' is set to enable syntax based completion on CTRL-X CTRL-U.
6. Interface to script/*. Generally, use ":Rscript about" to call "script/about". Many commands have wrappers with additional features: ":Rgenerate controller Blog" generates a blog controller and edits app/controllers/blog_controller.rb.
7. Partial extraction and migration inversion. :Rextract {file} replaces the desired range (ideally selected in visual line mode) with "render :partial => '{file}'", which is automatically created with your content. The @{file} instance variable is replaced with the {file} local variable. :Rinvert takes a self.up migration and writes a self.down.
8. Integration with other plugins. :Rproject creates a new project.vim (vimscript #69) project or spawns NERDTree (vimscript #1658). :Rdbext loads database settings from database.yml for dbext.vim, vimscript #356 (and this happens by default under most situations). Cream users get some additional keybindings, and all GUI users get a menu.
sri: I know that this won't really satisfy you

I just wanted to leave this reply here for the record.