Turn Emacs into an IDE

Update: I should have said Rails IDE – but I’m sure similar plugins are available for other languages

I fired up NetBeans at work today, tried to open a Rails project and – inexplicably, it crashed. All is well at home, so I’m blaming work machine setup issues as-yet unknown (but I suspect, involving the letters “ATI”).

It got me thinking that, as much as I like NetBeans, it is still just a memory-eating, CPU-hogging, bloated Java-based GUI. For some time I’ve wanted to convert my favourite editor, Emacs, to something more like an IDE.

emacs23_rails_ide

It's Emacs, but not as we know it


The WyeWorks Blog to the rescue. Install emacs-23 and a couple of Ruby gems, clone their github repository of Emacs plugins, copy to your ~/.emacs.d/ and voilĂ  – marvel at your new, shiny editing environment. I also replaced my ~/.emacs with their init.el file.

The key plugins include ECB, textmate.el, Rinari and yasnippet, plus a bunch of modes for syntax highlighting. If you’ve only tried cursory Emacs customisation in the past the results are a little alarming at first, but you’ll be back to coding (and saying “Ooh! Aah!”) in no time at all.

4 thoughts on “Turn Emacs into an IDE

  1. manandbytes

    May be this is true for Ruby but not for Java… Emacs isn’t for Java devs in its current state :-(

    I’m suspect that Emacs will become a memory-eating, CPU-hogging, bloated Lisp-based GUI if (or when) it will have all features available in Eclipse, IDEA or NetBeans ;-)

  2. Morgan Langille

    Nice post. Personally, I program in Perl and I used to use Emacs all the time and even learned how to use the Perl debugger from within Emacs. I then switched to using Eclipse with the EPIC plugin, but sometimes I miss how easy and quick Emacs was to use.

  3. Chris

    Did I miss a howto post or some documentation? Installing isn’t the problem – it’s figuring out all the features that this setup adds that’s confusing me. I suppose I’ll have to track down each component individually to see what it’s doing and how to invoke all this.

  4. nsaunders Post author

    Chris – I agree, the extra features are confusing if you’re used to a basic Emacs configuration.

    My advice is just to play with it for a while. It’s not so different to regular emacs operation, except you have to remember that you’re working in several ECB buffers as opposed to one main buffer. My common mistake is forgetting which one has focus and opening new files in the wrong buffer. I find myself using the menus a lot more, rather than keyboard shortcuts.

    For Rails, I’d check the Rinari documentation. It has several useful features, e.g. “M-x rinari-rake” (rake tasks) and “M-x rinari-script” (for generate, console, server and so on).

Comments are closed.