May I recommend… vibemacsing?
Over the last couple of years, I’ve been using my own eval test to gauge the coding capabilities of frontier LLMs. Obviously, the test involves Emacs. The test: write a function that marks the text rectangle under the cursor. At first glance, it seems like a simple test, but in reality it has a whole series of subtleties: it must use mark-rectangle and not a simple set-mark, it must find the rectangle’s vertical and horizontal boundaries (bounded by whitespace, empty lines, or buffer start/end), and it must handle text rectangles made of lines of different sizes. My example use case is trivial: have a series of lines with hostname, IP address, and netmask separated into columns with whitespace, place the cursor on an IP address, and select them all with a single command, excluding the other columns. I tried for several months, but no LLM produced a correct function. Then, in January of this year, something changed: Claude Code generated what I had imagined on the first try. That was a turning point: I realized that the code generated by LLMs could compete with, and potentially surpass, what we humans write.
Since then, I’ve subscribed to Claude Code Pro and have written all those little programs, experiments, and even larger projects I had only fantasized about and set aside over the years. Call it vibemacsing, a terrible portmanteau of vibe(coding) and emacs(ing). I can’t stop.
I too believe, like @antirez, that the strength of these tools lies in automatic programming, rather than pure vibecoding. It’s worth spending a little time at the beginning of a project to write down the most precise specifications possible, and this can only be done with a good few years of programming behind you.
Here’s a sample of what I shipped since February:
- a way to experiment with the Composer Desktop Project
- a way to visually crop images
- a function for a series of “prefabricated” and quick-to-run shell commands
- a table of folders/projects with code not committed to git
- a couple of simple games: drench and scoundrel
- a system for splitting windows automatically or with a minimal DSL
- the implementation of a couple of Unix CLI tools in elisp: watch and figlet
- a series of functions for discovering parts of Emacs
- many little features to scratch an itch that otherwise wouldn’t have been worth the time
The strength of Emacs, for me, has always been the ability to create a customized environment by shaping every aspect of my setup. It’s not a perfect system, but it’s the one I’ve felt offers the highest degree of freedom.
So my advice, in the spirit of the Emacs Carnival, is: make your Emacs your own, make your Emacs fun, make your Emacs weird, and leverage the power of LLMs to do so to a degree that would never have been possible in the past.
This post is my entry for Emacs Carnival for May 2026.