Awesome Emacs on macOS
35 points by xenodium
35 points by xenodium
kind of just getting into emacs now (more for hobby than anything) - are there any good resources and/or blog posts I should keep in mind? I had a good time learning all the tricks here
What’s wrong with the excellent Aquamacs?
Well, it’s based on Emacs 25.3, and mainline Emacs is on 30.1. There have been a lot of neat modern features added to Emacs in that time (e.g. eglot, tree sitter) that you’d be missing out on.
Aha! OK, thank you. I am not an Emacs user – the UI is too impenetrable for me. I liked Aquamacs because it put a nice usable macOS UI on top of the Emacs one. I did not realise it had become so dated. That’s a great shame.
(Years ago I contacted the Aquamacs author to ask if he might consider porting to GNUstep instead, to make a Mac-and-Linux version, but he said no: it used too many macOS-specific features and that would be too much work.)
I spent a large part of the 1980s learning dozens of different UIs, especially text-editor and word-processor UIs. Then IBM CUA came along and swept them all away, and now I only use editors that comply with CUA.
This may sound drastic but there was a sea-change in the personal/desktop computing world in the late 1980s and the only sub-area that simply did not notice this is that of command-line Unix tools. Emacs, Vim/vi, Joe, Pico, Nano, FreeBSD’s ee, they all just trundled along untouched.
I would love it if someone made an easy-to-install Emacs distro with ErgoEmacs integrated; I’d be delighted to give it a go. But I am too old to bother learning new editor UIs now. I don’t code. I only write English text and the occasional config file. It’s simply not worth my time.
I only use editors that comply with CUA.
Good news, then: Emacs supports CUA bindings. But also, honestly the Emacs bindings are preferable.
And Emacs is worthwhile for folks who only write English text! It’s not just a programmer’s editor.
cua-mode
isn’t even a joke; a joke would have more effort put into it.
ErgoEmacs is a decent beginning, but it needs a lot more work. Notably, you already need to know a fair bit about Emacs just to install it.
CUA is not a just a set of keybindings, which incidentally cua-mode only implements maybe 1% of the last time I looked. It also governs the appearance, the menu structures and layout, the keys to access and navigate the menus, and indeed, the terminology to be used for program and file elements, including in the help and documentation.
It is a manual and guide for building UIs.
In the 1960s and 1970s there was no such thing, and everyone threw their own together as they wished. Then in the 1980s the IBM PC design started to go mainstream and this started the slow process of setting standards for the computer industry, including things like what keys should be present on the keyboard, what they should be called and where they should be located.
By the mid-to-late ’80s this was dominant enough that totally unrelated computers such as the Atari ST, Commodore Amiga, Acorn Archimedes and so on had PC keyboard layouts.
The same trend led to CUA. Apps should have a menu bar, at the top of the program’s display area. It should start with File, Edit, and often View, and then there’s room for customisation, and end in a window-management menu and then help. The File menu has options for open, close, save, save as, opening a shell, printing, and quitting. And so on.
The standard also imposes nomenclature: programs open and manipulate files in windows which may be subdivided into panes.
This means that straight from the first run you know how to open a file, save it, and quit.
This standard sets how apps look in basically every desktop GUI, from Mac to Unix to OS/2 to Windows. It significantly influenced Mac OS X, as much as classic MacOS did. Mac OS X is a modernised NeXTstep which predates it, but there was visible influence in NeXTstep as well.
On the DOS platform almost all DOS apps changed to comply. It was an adaptive tactic: by adopting the common UI, DOS app vendors could defend themselves from the rise of Windows (and before that the fear of OS/2). You didn’t need a GUI and a mouse to gain the benefits of a standard UI and instant user familiarity. Many big-name DOS apps totally threw out their existing UIs and replaced them with CUA UIs, such as WordPerfect, and the whole Microsoft portfolio. Compare MS Word 5.0 (pre-CUA, menus at the bottom) with MS Word 5.5 (fully CUA and now freeware and legally dowloadable.)
https://winworldpc.com/screenshot/c2a1e280-bae2-80a2-c382-261511c3a4ef
Top row: Word 5.0 – and you’ll have to hunt around to even work out where the menus are.
Bottom row: Word 5.5.
Apps that did not are now mostly forgotten. Anyone on Lobsters ever seen MultiMate or DisplayWrite? I supported them in production. They were fine but the UIs were horrid.
And, main point, totally different to one another.
The app world changed in the late ’80s. And it changed for the better.
The world of desktop Unix changed too.
But the news didn’t get to the console people. They refused to listen.
No editor could be good enough to make me travel back to the 1970s to use it. It is not possible.
Comply, or die.
I use https://emacsformacosx.com/ which sticks very close to upstream defaults. The maintainer has been keeping it up to date for many years. Does exactly what it says on the tin.
Interesting. Thanks for that. I had not heard of it.
But:
« Pure Emacs! No Extras! No Nonsense! »
(From the main page) … puts me right off. I can’t drive Emacs, and in 2025 at 57 years old I am unwilling to learn. If an editor does not comply with CUA out of the box, then life it too short.
There is an Emacs CUA adaptation, and no, it’s not cua-mode
which is a useless toy. It’s ErgoEmacs. However, you need to know Emacs in order to install it, and it has usually defeated me.
This is super helpful and comes at an excellent time for me. I’ve been getting emacs working on macos for work, and while I’ve got in 99% of the way there’s a few things here that are going to make my life soooo much better.
Why eglot and not lsp-mode?
I can answer this question!
eglot-booster is a nice addition to eglot also. I work daily with very sizable repositories and lsp (via eglot) interaction is not noticeable.
So given I use lsp-mode now (without emacs-lsp-booster because I just heard about it) any reason to switch?
it’s really easy to switch, so I’d recommend just switching to eglot and giving it a shot and seeing if you like it. You wont have to worry about updating another package, and will get updates for free with emacs