Emacs is my editor of choice and has been for over 30 years. Emacs is free software provided by the Gnu project for many different computers and operating systems.

On the Mac, I use Aquamacs Emacs, derived from Emacs 25 and adapted for the Mac by David Reitter and Win Treese. Aquamacs works like a regular Emacs (mostly) and adds some nice integration with the Macintosh environment. See for more info.

I use my Mac for programming in Java, SQL, Perl, shell, C and C++, as well as web page development in HTML and JavaScript.

Aquamacs features

Aquamacs 3.6 provides several useful improvements over the emacs 22.1 included in OSX 10.6-10.11. It works on any macOS from El Capitan onward. I use it on macOS 13.2 Ventura.

Installing Aquamacs on Mojave

As of October 2020, Version 3.5 was the latest version. The Aquamacs download page said that version 3.5 was required for Mojave, and that I should install the latest nightly build. I did this. All my customizations seemed intact.

I found that menus like "File" and "Edit" required two clicks to cause them to drop down. Jamie Taylor pointed me toward the answer: I had to quit Aquamacs, and then visit  ► System Settings... ► Privacy&Security ► Privacy ► Accessibility and uncheck and re-check the box for Aquamacs, and restart the editor.

Version 3.5 of Aquamacs has some differences in its menus from version 3.4.

Tailoring Aquamacs

Aquamacs made several choices that I don't like, so some of my tailoring below reverts Aquamacs defaults to more traditional Emacs behavior. My personal Emacs tailorings are influenced by the habits of many years, and the desire to use similar Emacs key sequences on different platforms. This note describes how I set up my personal preferences for Aquamacs 3.5 on Mojave.

  1. Use my .emacs file from Unix, containing function key bindings (some as old as the 1980s) and macros.

  2. Get rid of toolbar (Why: Consistency With Other Emacsen, waste of space, never use it). In Aquamacs 2.4 and later:

    • Select Options ► Customize Aquamacs ► Options Matching Regexp and Search for NS Tool Bar
    • Turn Tool Bar Mode OFF.
    • Save for future sessions.
  3. Use a monospaced font everywhere (CWOE).

    • Turn off aquamacs-autoface-mode by unchecking Options ► Appearance ► Auto Faces ► Auto Faces.
    • Select Options ► Save options.
    • Select Options ► Appearance ► Font
    • Select Menlo 12
    • Select Options ► Appearance ► Adopt Face and Frame Parameters as Frame Default
    • Select Options ► Save options.
    • Type esc-x. Cursor will jump down to the minibuffer.
    • Select Options ► Appearance ► Font
    • Select Menlo 12
    • Select Options ► Appearance ► Adopt Face and Frame Parameters as Frame Default
    • Select Options ► Save options.
  4. Line wrapping (CWOE).

    • Select Options ► Line Wrapping ► wrap.
    • Select Options ► Line Wrapping ► Adopt as default.
    • Select Options ► Save options.
  5. Enable nice Aquamacs features.

    • Select Options ► Show Tabs (tab bar with buffer names, ⌘W closes a buffer)
    • Select Options ► Save options.
    • Select Options ► View ► Fringe ► On the Left
    • Select Options ► View ► Fringe ► Empty Line Indicators
    • Select Options ► Save options.
    • Select Tools ► Install Command Line Tools and execute it. ("aquamacs" command)
  6. Disable gratuitous Aquamacs changes (CWOE, predictable behavior).

    • to use HTML mode not HTML helper mode, add to .emacs
      (setq magic-mode-alist nil)
      Magic mode peeks at the file contents and chooses an HTML or XML mode in some cases. I don't need it.
    • To indent C and Perl by 4 spaces, add to .emacs
      (add-hook 'cperl-mode-hook (lambda () (cperl-set-style "BSD")))
    • Select Options ► Customize Aquamacs ► Aquamacs-specific options ► Visible Bell and turn ON (eliminate noises, others share space with me)
    • Select Options ► Customize Aquamacs ► Aquamacs-specific options ► Line Move Visual and turn OFF (predictable effect for ^N)
  7. My personal preferences

    • Select Options ► View ► Paren Match (Editing assist)
    • Select Options ► View ► Size indication (Editing assist)
    • Select Options ► View ► Column numbers (Editing assist)
    • Select Options ► Save options.
    • add to .emacs [could customize Aquamacs] (helps multi-tasking)
      (setq frame-title-format '("%f"))
    • add to .emacs
      (require 'uniquify)
      .. and then customize uniquify-buffer-name-style to "forward" (helps multi-tasking).
    • Set personal environment variable VEDITOR to run /Applications/ (helps with my macros)
  8. Change file associations to for .e .html .htmx .htmi .htmt .htmy .txt .cgi .pl .java .js .txt .tpt .sh .sql etc (OSX integration)

Home | FAQ © 2010-2023, Tom Van Vleck updated 2023-11-03 10:06