Emacs? Emacs.

And with my handheld portable all-purpose lightweight doohickey I fuse thoughts and try not to be too picky. —Buck65

I’m personally offended that you enjoy the software you work with ;)—al3x

Update: Full 60-minute screencast now available at PeepCode!

A few weeks ago I decided to try out Emacs. I wasn’t especially dissatisfied with TextMate but felt that I had neglected to educate myself about a major part of computer science history. Somewhat like a DJ who has never heard Grandmaster Flash (who purportedly invented much of the hardware used to create music with multiple turntables). I felt that I needed to try out one of the classic text editors still used by many today.

My history with text editors over the last 10 years goes something like:

  • BBEdit
  • vim (for about 6 months)
  • Smultron
  • TextMate

Screencast

I’ve assembled a short screencast of my initial impressions:

Initial Impressions

The Good Stuff

Here’s a short list of what I’m enjoying about it so far:

  • Efficiently keyboard driven. No need to use the mouse at all.
  • Window splits for viewing multiple files (and shells) at once.
  • Powerful editing.
  • The ease with which one can work with dozens of files without getting confused.
  • Super customizable.
  • Easy to keep settings, snippets, plugins, etc. synchronized between desktop and laptop with Git.
  • Quality plugins from the community.
  • The aha moment when parts of code make more sense given the fact that Emacs was used by Matz, Ryan Davis, Nathan Weizenbaum, etc. to author them.
  • That unidentifiable elitist feeling you get from using a tool that’s too difficult or awkward for most people.

The Awkward Bits

  • No GUI for preferences.
  • Mac OS X integration is just barely good enough to get by. For example, I can’t get “Hide Others” to work except by using the mouse.
  • It’s assumed that you’ll do most work from within Emacs itself rather than piping text to it.
  • Crashes when trying to switch color themes. This may be a problem with the color theme plugin I’m using.
  • It’s difficult to think about content and files instead of icons and buttons.

Getting Started

Installing, learning, and configuring Emacs is unfortunately not easy. I’m working on a PeepCode screencast with Phil Hagelberg that I hope to finish within the next few weeks. In the meantime, here are some resources I used to get started on Mac OS X:

Useful Plugins

  • yasnippet.el—TextMate-style tab trigger snippets with mirroring, defaults, etc.
  • textmate.el—Provides tremendously useful keyboard shortcuts for TextMate switchers. I’ve modified it to work with my setup.
  • magit—Git integration.

See Also

And a word from our sponsor

New hot-selling PeepCode Screencast authored by Lars Pind.


PeepCode Screencasts – Learn Ruby on Rails and Javascript! Hour-long screencasts for $9.
Images: