Blog Entry

RSS Feed Browse

Two Options for Emacs Users on Mac OS X

Written by Reuven Lerner - May. 12, 2008

I have been using Unix, in some form or another, for more than 20 years. Many things have changed during that time, most obviously the switch from proprietary Unix to open-source Linux. But some things haven't changed. One of those is my attachment to the ultimate programmer's editor, Emacs.

Emacs began not as an editor, but as a set of macros for something known as TECO. The term "Emacs" is actually an abbreviation for "editor macros," and the Emacs package provided a bunch of useful macros for TECO users. After James Gosling (now more famous as the lead developer of the Java programming language) produced a proprietary standalone version of Emacs for Unix systems, Richard Stallman (now more famous as the head of the Free Software Foundation) created GNU Emacs.

While Gosling's version of Emacs had many of the features that continue to be popular in Emacs to this day, the extension language he created, known as "Mocklisp," was not all that powerful. GNU Emacs, by contrast, came with a full implementation of Lisp, known as Emacs Lisp. To this day, the C code for GNU Emacs only handles low-level issues, such as display and printing. Most of the functionality that users enjoy, such as intelligent modes for each language, are written in Emacs Lisp.

Emacs has had its ups and downs over the years; while the GNU version bested Gosling's implementation, it had to deal with a nasty fork (to XEmacs) that remains unresolved and a source of controversy. With a move toward GUI-based editors and IDEs, and with a plethora of open-source editors (e.g., Eclipse) from which to choose, Emacs might seem like a relic from another time.

However, it would be premature to announce the death of Emacs. Not only does it remain unparalleled in its openness and customizability, but the authors of Emacs have managed to incorporate many features that bring it closer to its rivals. Emacs now supports multiple windows, proportional fonts, and Unicode support. These features have come slowly, but they are coming -- and they're making Emacs not only palatable, but even preferable for many programmers.

Like many other programmers, I use Macintosh OS X in my day-to-day life. And while there is a TTY version of Emacs that comes with the Mac, it pales in comparison, and in usability, to other Mac versions.

For several years, I used Aquamacs, an Aqua (OS X GUI) version of Emacs. Aquamacs includes many Mac-like features, allowing Mac users to use (for example) Command-O to open new files, rather than the traditional combination of Control-X Control-F (written as C-x C-f in Emacs manuals). Aquamacs is based on the latest stable release of GNU Emacs -- which is good for stability, but means that it is missing many features that the latest development version includes.

In the last six months, I have thus switched to Emacs.app, a rival version of GNU Emacs for OS X. Emacs.app still has some bugs and issues, but it has been stable enough for my day-to-day work. The fact that it is based on the latest development snapshot means that it supports some of the newest modes and features, such as a special Ruby on Rails mode, and some more advanced handlers for version control.

It feels no less Mac-like than Aquamacs, and I would even say that it feels like a more natural combination, without forcing me to open new a new window each time I create a new buffer.

Regardless of which Emacs you prefer, the fact that there are at least two good options means that aficionados should feel good about the future of their text editor. And of course, if you ever start to feel bad, you can always type "M-x doctor" to get some quick relief...


Comments

Add Comment
  1. By an anonymous user on May. 12, 2008

    Yes, have seen Emacs survive a lot of tools and hype. I have used VI for a long time as wll. Are there any VI equivalents on the Mac?

    0 Votes
  2. By an anonymous user on Jun. 20, 2008

    You are a programer that preffer mac to linux. Yea. I will mount a server with windows. :)

    0 Votes
Share Your Comments

If you are a member, to have your comment attributed to you. If you are not yet a member, Join OStatic and help the Open Source community by sharing your thoughts, answering user questions and providing reviews and alternatives for projects.

Trackback URL
Please use the following URL to add a trackback to this article.
http://ostatic.com/trackback/161777