What are the advantages of Emacs for Mac OS X users?

Solution 1:

IMO, if you have a UNIX background with previous experience with Emacs, it might make sense to "carry it forward" onto OS X. As a new text editor, I personally don't think it makes sense. Yes, it is a fully capable text editor and it can do everything, but as you've said, it does not integrate well into the OS, which for me is a major hurdle.

I use vim on OS X because its my editor of choice on Linux (where I do much of the work that earns me money), however with that said, I've started learning and using BBEdit.

Solution 2:

You can use a OSX GUI Emacs in the form of Aquamacs which is configured to be more OSX like it its key commands and menus and integrates with the OS.

One appeal of emacs is because emacs is mainly written in the language (e-lisp) that users can use to extend it there are a lot of scripts that add all sorts of functionality to the editor making it nearly as powerful as an ide. Even configuration is written in the same language so once you learn it you can modify anything you want.

The other reason I use emacs is that it runs on several OSs (Windows, Linux, Solaris and OSX ) and so I don't need a different editor for each one as I would if I used BBEdit etc.

Solution 3:

Answers to questions like this are likely to be subjective. I tend to disagree that Emacs.app does not integrate well in MacOS. I'm currently using regular Emacs.app from emacsformacosx.com (not Aquamacs) and a few lines in ~/.emacs can easily use familiar shortcuts, e.g. try

(setq mac-option-modifier nil)
(setq mac-right-option-modifier 'meta)
(setq mac-right-command-modifier 'hyper)
;; M-x to its usual meaning:
(global-set-key (quote [343144]) (quote execute-extended-command))
;;  M-p to its usual meaning:
(global-set-key (quote [332412]) (quote next-history-element))

Also shortcuts like cmd-O open the regular MacOS file dialog so no need to learn new shortcuts. Incidentally, several common MacOS shortcuts actually come from Emacs (e.g. C-a for beginning-of-line and C-e for end-of-line which are defaults in most MacOS apps like Safari or iWork).

Main reasons why I use Emacs:

  1. Support for virtually any programming language, not just syntax highlighting but also styling, completion of identifiers, automatic indentation (just using TAB in emacs keeps code clean and prevents a fairly good number of typos/mismatched parentheses etc)

  2. org mode

  3. Great support for editing/previewing LaTeX documents using AUCTex

  4. Workflow compatibility with my desktop, which is a Linux computer

  5. Powerful tools for software (and not only) development like magit, emerge

  6. Amazing support in EmacsWiki