Installing Emacs on OS X
OS X comes with a preinstalled version of Emacs, but alas it is the outdated Emacs 22. Fortunately, obtaining a newer release is really simple. There are several popular ways to do it.
As a binary package
Simply download a binary from Emacs for OSX.
If you have MacPorts installed, you can just do:
$ sudo port install emacs
to install Emacs 24. The MacPorts installer updates your PATH environment variable, so the MacPorts build of Emacs should be found by your shell before the (outdated) build that comes with Mac OS when you type 'emacs'. If you prefer the Emacs.app build, that's available by executing:
$ sudo port install emacs-app
Emacs 24 is also available via homebrew. Just type the following incantation in your shell and you’re done:
$ brew update $ brew install emacs --with-cocoa $ ln -s /usr/local/Cellar/emacs/24.x/Emacs.app /Applications (replace x by current subversions of Emacs 24) or $ cp -r /usr/local/Cellar/emacs/24.x/Emacs.app /Applications/
The second step is optional, but it’s recommended if you like to start Emacs from the launchpad or from Spotlight.
Chances are good you have an older version of Emacs installed by default with OS X. It's suggested you to remove that older Emacs version to avoid conflicts with the new one. Do this:
$ sudo rm /usr/bin/emacs $ sudo rm -rf /usr/share/emacs
Or just create an alias in your shell and when you invoke 'emacs' it will run the newly installed version:
$ alias emacs="/usr/local/Cellar/emacs/24.x/Emacs.app/Contents/MacOS/Emacs -nw"
To make it permanent, if using bash, add that line to ~/.bash_profile.
That’s all folks! You may now proceed to the configuration section.
Emacs is easy to install directly from Rudix as a .pkg or with the Rudix command line tool:
% sudo rudix install emacs
Binaries for Emacs 23 are still available from Emacs for OSX.
A near-OS-X-native port of GNU Emacs, integrating Emacs with all the features of Mac OS X. Available here. As of January 2015, the latest version (3.2) is based on Emacs 24.4. Comes bundled with some handy packages like AUCTeX.