04 Jun 2026
Revisiting Emacs Keyboard Macros with a Mouse
“No-code automation” has been in Emacs far longer than its usage as a term of art. Better known as keyboard macros, this feature has allowed Emacs users to achieve their bespoke needs for decades, all without needing to know a whit about Lisp. I can testify to this personally: though I’ve been using Emacs since the early 90’s, only in the past three years has writing Elisp played any part in it. For most of my Emacs journey, I got by with just making keyboard macros.
If you’re unfamiliar with them, here are two links you should get to know:
- The official Emacs manual for keyboard macros ((emacs) Keyboard Macros)
- Mickey Petersen’s post - “Keyboard Macros are Misunderstood”
My addition to the knowledge of those posts is to boost this fact: mouse events can also be captured by a keyboard macro. If you know where a command is in a menu, you can also record clicking on it. I think the ability to combine both keyboard and mouse events in a keyboard macro is compelling, so much so that I decided to emphasize this in Anju.
The recent Anju v1.5.0 release added the menu “Tools › Macro Recorder” to the menu bar as shown below.

With this, mouse enthusiasts can create and run keyboard macros without need to recall keybindings or deal with inconsistent command naming, as observed in Petersen’s post.
One thing that I TILed about keyboard macros in building this menu was the command list-keyboard-macros (see (emacs) Kmacro menu). This command is available in the “Macro Recorder” menu as the item “List macros”. This lets you manage multiple keyboard macros that have been defined during a session.
If this interests you, I invite you install Anju from MELPA and give it a try. Let me know what you think!
Past Articles
| 1 JUN 2026 |
Opening macOS Finder Folders in Emacs with ScrimFinder fun with the Scrim custom URL scheme and some musings on software orchestration. read more |
| 28 MAY 2026 |
Anju v1.5.0 UpdateAnju v1.5.0 update out in the wild. Lots of goodies in it. read more |
| 18 MAY 2026 |
Using the Mouse for Emacs Rectangle CommandsNever look up Emacs rectangle commands in the manual again. Announcing support for rectangle commands in Anju v1.4.0 update. read more |
| 11 MAY 2026 |
Enhancing Elisp Development with Context MenusAnnouncing support for Elisp development in the Anju v1.3.0 update. read more |
| 29 APR 2026 |
Bulk Search & Replace Commands for Files and Buffers in EmacsAn inventory of bulk commands to search and/or replace multiple files or buffers in Emacs. read more |
| 24 APR 2026 |
Some nice to know keybindings when using the mouse in EmacsSome keybindings to know whenever you’re working with a mouse in Emacs. read more |
| 23 APR 2026 |
Call for Testing: Scrim v1.1.3 TestFlight on pre-release Emacs 31Looking for folks who want to test a new pre-release build of Scrim v1.1.3 which fixes it for Emacs 31. read more |
| 8 APR 2026 |
Computing Days Until with EmacsCountdown clocks are always useful. Here’s one for computing days until in Emacs. read more |
| 7 APR 2026 |
Calming Mouse Interaction in DiredSingle click to open a file in Dired is too twitchy. This post shows how to change it. read more |
Page 1 / 19 >