I have been using Emacs for more than 30 years now. Other editors have come and gone, Emacs stayed. Parts of my configuration are more than 30 years old.
There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily basis to get my work done.
Recently, AI completely changed how I use Emacs, and in a very good way. I now treat AI as a fairy that can fulfill any wish. I describe how I want my editor to work, and boom! it works that way.
Examples: window and tab management, difftastic integration, markdown previews with beautifully rendered tables, markdown previews as PDFs, and many more.
What is most important, however, goes back to Stallman's original ideas. I am in control of my editor and my environment. I decide how it will look and behave. No corporation decides for me. No corporation builds in a new AI assistant. Nobody introduces ads or tracking. This is something I've learned to appreciate over the years.
It is is unreal how I can ask claude, from within emacs, to implement an extension for me on the fly, inject it into the running process, have it observe the results, and quickly iterate to a working solution.
I am also a member of the 30+ year emacs club (with a detour to jetbrains some years back due to java) and it has been crazy how good claude is at implementing/debugging emacs extensions, I have it set up so it has emacs in its container and it is able to basically use it headless to debug whatever.
Saying "I want my editor to do X" and have it happen basically realtime on an editor I fully control is incredible. I have written elisp in the past, but it's definitely one of my weakest languages, so being able to leverage claude to do this is great.
well if you're in emacs you can C-x C-e evaluate whatever, and if you eval an edited version of whatever function emacs is calling, it just works as emacs calls the thing by symbol name; conceptually it's basically your editor is an elisp repl, so everything can be changed at any time (in general, things like defvar you'd need to setq and so on)
I've been getting into emacs somewhat recently and really enjoying it so far, though I do worry a bit about how much it can do and whether it will lead to any sort of "oops, you opened a project that had a thing that autoexecs or exploits a parser and now you're pwned". I know that's not a unique problem to emacs, but it feels like the enormous amount of things emacs can do gives it a bigger attack surface for that (and I don't know my way around it well enough yet to be confident that I've looked at all the places that might happen)
Maybe the solution is that I should just be running the entire thing in a sandbox in any case.
On one hand, AI boosts Emacs development. On the other hand, as an Emacs user of 30 years, I have always felt that the number of people who deeply grasp Emacs Lisp and Emacs' internals is really small against the population of people merely using Emacs and lightly hacking their own setup, and I worry AI is not going to encourage any growth in that small elite that seems kinda important for Emacs' long-term future.
> the population of people merely using Emacs and lightly hacking their own setup
This is a good thing. Custom environments should be either minimal or upstream. Anybody should be able to sit down next to you and help you hack out a change. The more unusual/custom your environment is the less productive that is, and this more than balances out any possible gain you can make from custom setups. (don't forget to account for your cost to learn elisp and then make the changes!)
Somebody needs to make the correct setups. However most of us have better things to do.
I'm not advocating for making all (or even most) users spend so much time on internals that they don't get productivity gains. Rather, I'm concerned about maintaining, ensuring generational turnover, and healthily boosting the elite that the product depends on. It is no secret that a number of Emacs ecosystem core devs are middle-aged, and so the project is a few heart attacks or whatever away from losing the experience and competence that has sustained it so well.
Most of emacs is lisp. The actual C part is quite small considering the capabilities of the system. Lisp being what it is, it’s moslty about domain knowledge than language expertise.
I feel the lisp constructed on top needs significant language expertise. Lispy constructs of defvar, defconst, defcustom, alist, cl-loop etc. are quite extensively used in emacs - and need an understanding quite unique to Lisp. Of course, the domain then builds on top of this shared understanding of the contructs themselves.
I would say that loss of expertise in emacs-lisp is a significant loss, even if there continues to exist C-expertise globally.
There's a wealth of packages and the documentation for emacs-lisp is quite extensive. It's not some esoteric language. But what I'm talking about is that the code for the packages can be quite simple and readable.
This is a good point, but I do want to mention that I feel like in the past 5 years we've had lots of extremely popular packages that hook into Emacs internals instead of rolling out their own architecture.
For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of a corfu specific backend.
Another good example is eglot [2] versus lsp-mode [3]. Eglot is actually packaged with Emacs now.
There's also other stuff, like vertico [4] (and others that are recommended to download) versus helm/ivy.
I also want to mention that packages that hook into Emacs more don't necessarily mean that they're better. From my POV it's more like you get a lot more things for free and the documentation you dive into will be Emacs specific instead of package specific. It all comes down to preference.
Vertico/Counsel/Orderless is very nice, but Helm and Ivy are fully featured (I always forget how much Helm has for you).
I use corfu, eglot, and vertico now. I have thought about going back to helm and company, especially since I was very familiar with company's backends for a long time.
>and I worry AI is not going to encourage any growth in that small elite
I wouldn't dismiss the help of lower friction of entry. Lots of recent Linux and neovim users due to how easy it is to debug an issue or edit a config now.
The larger the regular userbase, the more chances people gradually go deeper into the system.
I am too young to be in the 30 year club but Emacs has served me well for more than a decade. I don't use it as a daily driver anymore but it holds a special place in my heart.
Using magit made me believe again that really good software can exist and that there are really great designers still among us.
Also super agree that Stallman's original ideas are only ever more increasingly valid. I will generously say that Stallman has been an imperfect messenger but the core message has always been solid. I have not regretted my FSF membership over the years.
50 years old and feels more modern than any of the crap folks try to sell you "as the editor of the future". Emacs is the true editor of the past, present and distant future.
Modal editing was supposed to pull users away - Evil mode made vimming better. LSPs were supposed to kill it - only made it better. Electron-based crap was supposed to make terminal-native editors look ancient with a built-in terminal, extensions, and a polished UI. Emacs got vterm, eat, and ghostel. GitKraken-like GUIs were supposed to make the git CLI unnecessary. Magit is widely considered better than any git client that exists, GUI or not. Tree-sitter was supposed to require a "real" language server architecture to get accurate parsing. Emacs 29 absorbed it natively, and font-lock, indentation, and structural navigation across major modes got noticeably better. Obsidian and Notion keep trying to overcome it - Org-mode just keeps getting better. AI was supposed to make it outdated - only enhanced it.
For half a century, humanity has been searching for an Emacs-killer. All the while, Emacs has been a killer app all along.
After a couple of years of detour I’m back to using Emacs since all the fancy lsp, debugger etc stuff in VSCode and Zed doesn’t matter as much for me anymore and I am just more productive with Emacs. But I am still using it like it is 2020. I hear people using coding agents to make crazy customizations to their emacs config and I can imagine Emacs is particularly suitable for this.
Curious what are the biggest things that have come out in the last year or two, and what emacs based personal software have others reading this made?
Wow I missed canvas support completely. This is going to make some custom UI's way easier to make compared to the hacks I had to resort to in the past [0]
I do hope one day we'd get a new cross platform performant display engine that draws like Zed does for more UI capabilities in Emacs. Neomacs[1] promises this and has some of this but looks like its suffering from never ending scope creep and continuously moving back and forth between 80% there and 90% there due to unattended agents running wild.
It looks like exc.el is built on top of a reactive UI framework, which, well, would have been incomprehensible to the first users of GNU Emacs on PDP-11 UNIX…
not big but i'm still happy about how it allowed me to build a really expressive musical tracker with micro-tonality implemented by default. partly by Csound score paradigm but we also have an interesting macros, a scale paradigm for adding notes and real-time p-field information
About two or three months ago I ditched Neovim as all the complicated modern crap wasn't working for me, and instead of reverting to Vim, I switched to Emacs and Doom + eVil, and am relieved to be back in a nice stable system again. I did ask GPT to port over my key commands and shortcuts, which it did, and things are great again!
Good times of ISPF on IBM 3090/TSO. First you had to allocate a file on a dataset (ibm hates simplicity) and then you edited the text or copied with the pair "cc/mm" followed by a/b. No keyboard shortcuts, no interactive shell, only a data-entry panel and the incessant "tlac tlac" sound of the 3270 keyboard
Is anybody here consciously trying to keep their Emacs configs/setup "lean", minimalist, as small as possible?
I'm not a coder, but I did use Emacs daily around 2010-2012, with brief returns later. I always gave up eventually because the complexity of addons, the org-mode-can-do-everything-so-I-should-do-everything-with-it etc just grew over my head. I've discovered that I like Plan9 Sam, Acme and, in general, the one-thing-well camp better. Each their own, I guess.
That said, I did often like how "immersive" using Emacs can actually be at times. I'm a trained journalist, and it made managing bits of information, including PDFs etc, really streamlined, almost like a wonder. And, I had my own little OS on a USB stick that way (though the minimalist in me always whined that "an editor" should not weigh 100+ megabytes).
Incredible that it has been around for 50 years, with no signs whatsoever of being a "paradigm of the past".
I've been using emacs for ~15 years. I don't now what is considered lean. My init is 343 lines. Probably removing all the comments and junk collected over the years it is likely ~200 that actually does anything useful at this point, I should probably clean up. I use emacs everyday. I get the desire to want to do everything in emacs but I also don't. It is good at what it does, it happens to do other things too but I don't know if that is the best way to work.
With my last bankruptcy where I tried to dissect my 12K LOC config to identify the bloat and the crap I no longer needed, I found very few pieces that weren't used. Turns out, my config was already modular and lean, in the sense that everything I had there had a practical reason to be in there.
Once I started using LLMs to deal with Emacs, I decided to add a bunch of tests to run them in CI, just to prevent regressions. My config since then has grown to 26K LOC + 35K of tests. I consume 250 third-party packages, plus about 100 built-in libs.
My Emacs starts and loads within a second. I have no problems such as freezing, breaking or leaking memory. With all this stuff I have in it, it can run for days and weeks and its memory usage on Mac stays within a comparable range with the Slack app - around 500MB.
I never understood this obsession with keeping Emacs lean. Bruh, throw some shit into it, let it burn, it'll chug on any large amount of Lisp and still give you the smoothest ride ever. What's the point of keeping a colossal beast under a mountain and feeding it a low-calorie diet? It's like digital abuse. Emacs these days is capable of rendering Doom-level graphics, it's offending to use it like notepad.exe.
> though the minimalist in me always whined that "an editor" should not weigh 100+ megabytes
Heh. At work many in our department installed a (voluntary) tool that logs the apps we have in memory, and how much RAM they consume.[1]
My manager came to me and said "Your Emacs is taking 8GB of RAM?!"
Guess we should call it EGACS now.[2]
I had an LLM do some debug and it turned out my copy of Emacs is a bit buggy in MacOS. Every time I open a new frame, and then close it, it doesn't release a lot of GUI related stuff. Over several weeks, this leak adds up. I open new frames multiple times a day.
And of course, I got the LLM to make a package I can load in Emacs that cleans it all up without needing to quit.
After cleanup, it's taking "only" 1.5 GB of RAM.
[1] Company is dramatically reducing the amount of RAM on new laptops, so we want to gather data to show it's too little RAM.
[2] For those who don't get it, a common joke decades ago was that Emacs stood for Eight Megabytes and Constantly Swapping. Back when 8MB RAM was huge.
> Is anybody here consciously trying to keep their Emacs configs/setup "lean", minimalist, as small as possible?
I tried but most of my config is just variable settings (with the use-package macro). I don’t really have custom code there. If I do think about a feature, I tried to build a package instead (like one for bridging subsonic and emms).
About 10+ years ago I found a guide on Helm [0] and a guide on Org-mode [1] when I was just getting into Emacs. This helped me move on from using Spacemacs to making my own configuration.
I no longer use Helm (I'm doing Vertico/Orderless/Consult), but I've stuck with Org-mode since then. I sometimes venture out to other apps (like Joplin, Obsidian, Apple Notes, Apple Reminders, etc), but Org-mode just works best for me.
I don't even use it's most advanced features. The most complicated thing I do is maybe recurring schedules and using the agenda. I don't even have agenda view defined (although I really should at this point, it would be really helpful).
I use it every day at work with a daily log.org file keeping track of what I did each day, a habits.org file for recurring tasks I want to make sure I do (check my email, find a PR to review, etc).
I have various files to help organize my personal life - I heavily rely on Beorg [2] for that.
Looking back on my years with Org-mode, I feel like the primary reason I use it is for the ease of use with keybindings and dealing with plain text. I don't need to dig through menus or swipe around. I just go in and type, write, and delete.
emacs is really something apart, by far the best software I ever had the chance to interact with, the closest thing we ever got of a lisp machine, a completly hackable, self documenting programming environment where you can change anything without limits.
It's unfortunate its underlying ideas aren't more widely used in our industry, the very idea that you don't need to expose a separate API for people to create and extends things since code is the api is a idea that put emacs on a league of its own .... Thank you to anyone who has been involved in developing it.
Also I would love to hear Stallman view of labs using (A)GPL code and not contributing back to the world since this is completly against not only the ethos of free software but what Stallman teached to the world about the very purpose of its license
In his senescence, licensing is all the geezer talks about. Unfortunately, to find out what he's saying you'd have to subscribe to an obscure mailing list hosted on a DEC machine in Chelmsford.
I quit being an emacs tourist about 5 years ago, this year I started rewriting my init.el with use-package and the popular packages (vertico, eglot, etc). My config is still a mess and there’s always something new I want to do. Sometimes I think about trying neovim or trying some editor that I wouldn’t have to config stuff that much, but I think I’d want to customize things a certain anyway.
For LLM stuff I’ve been using eca, or claude code in a vterm or ghostel. I’m still experimenting with this stuff but I don’t think emacs is getting in my way. Not sure if I’d recommend to everyone, though.
My biggest regret in life was that I was introduced to vim before emacs and got really comfortable with it.
Did not realize that everything I was building in my vim configs to make it better was already default in emacs i.e dired, compile mode, magit, org mode, etc.
If I wasn't able to multiplex with tmux I would have switched to emacs a long time ago.
I love emacs and have been using it daily for about 5 years now.
Many people have mentioned magit and org mode. I just want to give another shout out to consult.el which is a wonderful way to grep and search through text.
Been using an Org file containing all my projects as the tracker for each, with a little custom tool that wraps emacsclient as the driver which my agents use. It's been pretty great, but the single-thread bites as it can get wedged sometimes and then I have to go hit C-g.
I started using Emacs 30 years ago. Used it as my main code editor for 15 years, and as my note-taking editor a little longer. I did write my share of elisp code, had a lot of fun with it, posted on gnu.emacs.sources back in the day, and shared a lot.
Emacs is still my main editor over ssh, so I happen to use it on a regular basis, and the commands are all imprinted on my fingers' muscle memory, so that's quite the comfort zone.
The so called editor wars seem to be over and emacs has lost. I've been involved with it since the early 2000s and it's still my primary editor. I feel that the users have reduced into a smaller but more dedicated/passionate group which is probably for the best.
Emacs is awesome, but it is unfortunate that on Windows it still only supports x64, which is a legacy platform at this point. Hopefully arm64 will be supported soon as well!
Emacs is a serious tool, you choose it first and only then prioritize on the OS. It's like complaining that editing videos with Adobe Premiere on Linux is not a very solid experience, or something like that. Well, if you're a pro video-editor and you must use Premiere, then maybe you need a non-Linux box to do that?
I lived in Emacs for most of my professional live, but IDEs and now Claude have taken over. Sad, but perhaps justified? Back in my academia days, there was much less pressure to use a uniform tech setup across staff, so people were happily using Emacs, or vim, or whatever -- and frankly, there was never any issue because of that.
But I can see there is a value (mostly for the admins, but also for debugging if you work collaboratively in a team) in enforcing the same setup for everyone. Sigh. Strangely, I could never convince my coworkers to ditch their IDEs for Emacs.
100% completely opposite experience. Emacs is hands down the king of any kind of text-manipulation. And not only on the composition side. Most editors and IDEs are focused on the composition side of things - making text, adjusting text, amending text. And code btw, is nothing but structured text.
Emacs opens gates for text consumption - I'm reading this entire HN thread in Emacs, just like I consume Jira, Slack, Telegram, Reddit; control YT vids, my browser tabs and history, etc. I search through Splunk and Datadog logs, Wiktionary entries and just general googling - all done in Emacs. I browse million-line codebases on GH without ever having to clone them. If there's a piece of any kind of text in the computational vicinity to my active Emacs instance - this laptop and all connectable devices, I can easily make use of it.
And this gets incredibly important in the age of LLMs. I can read, manipulate, navigate, search through, diff, sort, group, slice, dice, salt and pepper any kind of text. Give me just about any other editor instead and I immediately will feel handicapped.
IDEs that are not malleable (by design) are at an exact disadvantage. I can change any aspect of my editor in the middle of typing this very comment without ever losing the state, the context, or my mental focus. No IDE even hypothetically capable of doing any of that.
one day, one of my teachers convinced me to try Emacs, and I’ve been using it ever since. At first, Emacs looked repulsive, but once you fall down the rabbit hole, you become addicted.
So here's an embarassing confession for the occasion:
I code in Emacs almost every day. I read and write e-mail in Emacs almost every day. I take notes in Emacs almost every day. I maninpulate data in Emacs almost every day. Yet I don't know LISP (any LISP!) at all, I barely use any packages beyond "whatever it is that Debian ships by default", and I'm quite bad at fancy Emacs shortcuts. My Emacs config file is a hodge-podge of little snippets I don't properly understand – and it measures in at just about 100 lines, including comments and whitespace, with a significant part of that being just mundane configuration data for the mu4e Emacs client!
This has been the case for about 15 years now. And I'm the kind of person who really likes to know my tools. It's such a ridiculous situation! I somehow never get properly around to sitting down and learning, and I really struggle to make LISP click.
Sigh. I hope I'm not alone. I really really really should learn this thing!
Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!
I'm a Lisper. I switch between Lisp dialects, sometimes multiple times a day. Since I got my LLM harness to work from inside of Emacs I no longer need to even look at Lisp that it generates for my config.
It is very justified use of AI - if anything breaks, it breaks for me, and mostly just for me. And whenever something doesn't work as expected - I don't even try to debug it anymore - my harness has introspective capabilities - it can run the profiler, monitor changing vars, debug and just fix things.
Now is the best time to try Emacs. If people before could complain that Lisp is weird and not easy to grok, it's not a valid complaint anymore.
You're doing it right. When I was gainfully employed, emacs was purely a black-box means to a greater end, i.e., promotions and added responsibility. In my premature retirement, the vortex of emacs became an end unto itself. Believe me, I'd happily trade my emacs expertise for a more meaningful pursuit.
I've been using emacs everyday for the last 25ish years. Although I do read elisp and occasionally write some, I'm far from fluent. You do not need to know lisp to use emacs (although it is funny you didn't pickup some just by osmosis).
We have finite time in our lives. I'd argue it's eminently reasonable to spend time on things other that Emacs' guts, unless that's what tickles your interest.
I've always told people: You can be a power Emacs user without learning elisp.
I myself used Emacs heavily for 9 years before learning elisp (clicked on my 3rd attempt).
IMO, the included Elisp guide is not good for beginners. My recommendation:
Separate the language from the ecosystem. First focus on simply learning the basics. How do you set a variable? How do you write a loop? How do you write a function? These things are as easy in Elisp as they are in other languages. Perhaps use Exercism to practice.
Of course, also learn the related keybindings (C-M-x to evaluate, C-x C-e, etc).
Only then start understanding some of the basics of integrating with the rest of Emacs (unwind-protect, save-excursion, save-restriction, etc).
The reason Emacs survived 50 years while countless modern IDEs rose and died is architectural: Emacs isn't just a text editor with a plugin API—it's an interactive Lisp runtime that treats text buffers as first-class citizens.
Modern editors build layers upon layers of IPC, JSON-RPC protocols, and sandboxed extensions to keep the user from touching the core. Emacs did the opposite: it gave the user direct access to the live execution state. You don’t "configure" Emacs from the outside; you mold it into the exact operational extension of your own thought process.
In an era where modern developer tools consume gigabytes of memory just to render a UI tree, there is something deeply grounding about a piece of software from 1976 that still offers the most malleable computing medium on earth.
GNU Emacs really didn't start until 1984, but I keep thinking it would be interesting to compare Emacs' resource usage to Zed (or Gram). Then I realize I can't be bothered to run either of those long enough to do it.
Compared to VSCode, Eight Meg And Constantly Swapping does sound ridiculously parsimonious in 2026.
There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily basis to get my work done.
Recently, AI completely changed how I use Emacs, and in a very good way. I now treat AI as a fairy that can fulfill any wish. I describe how I want my editor to work, and boom! it works that way.
Examples: window and tab management, difftastic integration, markdown previews with beautifully rendered tables, markdown previews as PDFs, and many more.
What is most important, however, goes back to Stallman's original ideas. I am in control of my editor and my environment. I decide how it will look and behave. No corporation decides for me. No corporation builds in a new AI assistant. Nobody introduces ads or tracking. This is something I've learned to appreciate over the years.
Claude, the ultimate REPL.
Saying "I want my editor to do X" and have it happen basically realtime on an editor I fully control is incredible. I have written elisp in the past, but it's definitely one of my weakest languages, so being able to leverage claude to do this is great.
Maybe the solution is that I should just be running the entire thing in a sandbox in any case.
This is a good thing. Custom environments should be either minimal or upstream. Anybody should be able to sit down next to you and help you hack out a change. The more unusual/custom your environment is the less productive that is, and this more than balances out any possible gain you can make from custom setups. (don't forget to account for your cost to learn elisp and then make the changes!)
Somebody needs to make the correct setups. However most of us have better things to do.
I would say that loss of expertise in emacs-lisp is a significant loss, even if there continues to exist C-expertise globally.
For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of a corfu specific backend.
Another good example is eglot [2] versus lsp-mode [3]. Eglot is actually packaged with Emacs now.
There's also other stuff, like vertico [4] (and others that are recommended to download) versus helm/ivy.
I also want to mention that packages that hook into Emacs more don't necessarily mean that they're better. From my POV it's more like you get a lot more things for free and the documentation you dive into will be Emacs specific instead of package specific. It all comes down to preference.
Vertico/Counsel/Orderless is very nice, but Helm and Ivy are fully featured (I always forget how much Helm has for you).
I use corfu, eglot, and vertico now. I have thought about going back to helm and company, especially since I was very familiar with company's backends for a long time.
[0]: https://github.com/minad/corfu
[1]: https://github.com/company-mode/company-mode
[2]: https://github.com/joaotavora/eglot
[3]: https://github.com/emacs-lsp/lsp-mode
[4]: https://github.com/minad/vertico
I wouldn't dismiss the help of lower friction of entry. Lots of recent Linux and neovim users due to how easy it is to debug an issue or edit a config now.
The larger the regular userbase, the more chances people gradually go deeper into the system.
Using magit made me believe again that really good software can exist and that there are really great designers still among us.
Also super agree that Stallman's original ideas are only ever more increasingly valid. I will generously say that Stallman has been an imperfect messenger but the core message has always been solid. I have not regretted my FSF membership over the years.
Modal editing was supposed to pull users away - Evil mode made vimming better. LSPs were supposed to kill it - only made it better. Electron-based crap was supposed to make terminal-native editors look ancient with a built-in terminal, extensions, and a polished UI. Emacs got vterm, eat, and ghostel. GitKraken-like GUIs were supposed to make the git CLI unnecessary. Magit is widely considered better than any git client that exists, GUI or not. Tree-sitter was supposed to require a "real" language server architecture to get accurate parsing. Emacs 29 absorbed it natively, and font-lock, indentation, and structural navigation across major modes got noticeably better. Obsidian and Notion keep trying to overcome it - Org-mode just keeps getting better. AI was supposed to make it outdated - only enhanced it.
For half a century, humanity has been searching for an Emacs-killer. All the while, Emacs has been a killer app all along.
I regret ever using X/Emacs for 5 years with two reasons.
The biggest reason is, I have arthritis on my left pinky thanks to Emacs. Now I need to use an expensive ergo keyboards (thumb for ctrls)
The second reason being, vi is what I am forced to use for many linux default editors. I never learned it, and always look up google for commands.
(optionally, extending Emacs is pain as I never understood the point of lisp).
Curious what are the biggest things that have come out in the last year or two, and what emacs based personal software have others reading this made?
Tree-sitter support is quite smooth now, with automatic grammar installation.
Apparently very good Android support.
Canvas support is in master, people are building all kinds of crazy stuff[0] with this
Lots of nice built-in packages like modus themes, eglot, which-key. Editable grep/xref/occur results is also built-in now. New context menu things.
Load the "newcomer-presets" theme to enable stuff that newcomers tend to want enabled (tab bar, fancy completion, lots of little things).
[0] e.g. https://monadicsheep.org/blog/an-introduction-to-canvas-in-e..., and https://www.youtube.com/watch?v=61-uNV9N154 / https://github.com/yibie/exc.el
Wow I missed canvas support completely. This is going to make some custom UI's way easier to make compared to the hacks I had to resort to in the past [0]
I do hope one day we'd get a new cross platform performant display engine that draws like Zed does for more UI capabilities in Emacs. Neomacs[1] promises this and has some of this but looks like its suffering from never ending scope creep and continuously moving back and forth between 80% there and 90% there due to unattended agents running wild.
[0] https://github.com/ozanvos/emacs-webkit-color-picker
[1] https://github.com/eval-exec/neomacs
https://github.com/emacs-taf
[0] https://github.com/luqtas/csound-score-emacs
We should all learn from Emacs about software longevity.
I'm not a coder, but I did use Emacs daily around 2010-2012, with brief returns later. I always gave up eventually because the complexity of addons, the org-mode-can-do-everything-so-I-should-do-everything-with-it etc just grew over my head. I've discovered that I like Plan9 Sam, Acme and, in general, the one-thing-well camp better. Each their own, I guess.
That said, I did often like how "immersive" using Emacs can actually be at times. I'm a trained journalist, and it made managing bits of information, including PDFs etc, really streamlined, almost like a wonder. And, I had my own little OS on a USB stick that way (though the minimalist in me always whined that "an editor" should not weigh 100+ megabytes).
Incredible that it has been around for 50 years, with no signs whatsoever of being a "paradigm of the past".
With my last bankruptcy where I tried to dissect my 12K LOC config to identify the bloat and the crap I no longer needed, I found very few pieces that weren't used. Turns out, my config was already modular and lean, in the sense that everything I had there had a practical reason to be in there.
Once I started using LLMs to deal with Emacs, I decided to add a bunch of tests to run them in CI, just to prevent regressions. My config since then has grown to 26K LOC + 35K of tests. I consume 250 third-party packages, plus about 100 built-in libs.
My Emacs starts and loads within a second. I have no problems such as freezing, breaking or leaking memory. With all this stuff I have in it, it can run for days and weeks and its memory usage on Mac stays within a comparable range with the Slack app - around 500MB.
I never understood this obsession with keeping Emacs lean. Bruh, throw some shit into it, let it burn, it'll chug on any large amount of Lisp and still give you the smoothest ride ever. What's the point of keeping a colossal beast under a mountain and feeding it a low-calorie diet? It's like digital abuse. Emacs these days is capable of rendering Doom-level graphics, it's offending to use it like notepad.exe.
Heh. At work many in our department installed a (voluntary) tool that logs the apps we have in memory, and how much RAM they consume.[1]
My manager came to me and said "Your Emacs is taking 8GB of RAM?!"
Guess we should call it EGACS now.[2]
I had an LLM do some debug and it turned out my copy of Emacs is a bit buggy in MacOS. Every time I open a new frame, and then close it, it doesn't release a lot of GUI related stuff. Over several weeks, this leak adds up. I open new frames multiple times a day.
And of course, I got the LLM to make a package I can load in Emacs that cleans it all up without needing to quit.
After cleanup, it's taking "only" 1.5 GB of RAM.
[1] Company is dramatically reducing the amount of RAM on new laptops, so we want to gather data to show it's too little RAM.
[2] For those who don't get it, a common joke decades ago was that Emacs stood for Eight Megabytes and Constantly Swapping. Back when 8MB RAM was huge.
I tried but most of my config is just variable settings (with the use-package macro). I don’t really have custom code there. If I do think about a feature, I tried to build a package instead (like one for bridging subsonic and emms).
I suppose this is actually the way of keeping a "lean" Emacs.
Find it useful to conjure up cognitive dissonance and practice letting it go.
And to answer the question I get a lot: no, it would be morally reprehensible to name a cat after an inferior editor such as "vi".
Emacs is a powerful, flexible, majestic, extensible silver tabby, so he also acts like his namesake: textual and functional determinism.
I no longer use Helm (I'm doing Vertico/Orderless/Consult), but I've stuck with Org-mode since then. I sometimes venture out to other apps (like Joplin, Obsidian, Apple Notes, Apple Reminders, etc), but Org-mode just works best for me.
I don't even use it's most advanced features. The most complicated thing I do is maybe recurring schedules and using the agenda. I don't even have agenda view defined (although I really should at this point, it would be really helpful).
I use it every day at work with a daily log.org file keeping track of what I did each day, a habits.org file for recurring tasks I want to make sure I do (check my email, find a PR to review, etc).
I have various files to help organize my personal life - I heavily rely on Beorg [2] for that.
Looking back on my years with Org-mode, I feel like the primary reason I use it is for the ease of use with keybindings and dealing with plain text. I don't need to dig through menus or swipe around. I just go in and type, write, and delete.
[0]: https://tuhdo.github.io/helm-intro.html
[1]: https://doc.norang.ca/org-mode.html
[2]: https://www.beorgapp.com/
It's unfortunate its underlying ideas aren't more widely used in our industry, the very idea that you don't need to expose a separate API for people to create and extends things since code is the api is a idea that put emacs on a league of its own .... Thank you to anyone who has been involved in developing it.
Also I would love to hear Stallman view of labs using (A)GPL code and not contributing back to the world since this is completly against not only the ethos of free software but what Stallman teached to the world about the very purpose of its license
In his senescence, licensing is all the geezer talks about. Unfortunately, to find out what he's saying you'd have to subscribe to an obscure mailing list hosted on a DEC machine in Chelmsford.
For LLM stuff I’ve been using eca, or claude code in a vterm or ghostel. I’m still experimenting with this stuff but I don’t think emacs is getting in my way. Not sure if I’d recommend to everyone, though.
https://www.youtube.com/watch?v=mJZDmO5yOxE
Interview with an Emacs Enthusiast [Colorized]
https://www.youtube.com/watch?v=urcL86UpqZc
Deldo - Vibration Control and Teledildonics Mode for Emacs
https://www.youtube.com/watch?v=D1sXuHnf_lo
Did not realize that everything I was building in my vim configs to make it better was already default in emacs i.e dired, compile mode, magit, org mode, etc.
If I wasn't able to multiplex with tmux I would have switched to emacs a long time ago.
Many people have mentioned magit and org mode. I just want to give another shout out to consult.el which is a wonderful way to grep and search through text.
Happy birthday emacs!
Emacs is still my main editor over ssh, so I happen to use it on a regular basis, and the commands are all imprinted on my fingers' muscle memory, so that's quite the comfort zone.
Happy Emacs anniversary to everyone!
And we've also seen how legacy systems refuse to die :(
But I can see there is a value (mostly for the admins, but also for debugging if you work collaboratively in a team) in enforcing the same setup for everyone. Sigh. Strangely, I could never convince my coworkers to ditch their IDEs for Emacs.
100% completely opposite experience. Emacs is hands down the king of any kind of text-manipulation. And not only on the composition side. Most editors and IDEs are focused on the composition side of things - making text, adjusting text, amending text. And code btw, is nothing but structured text.
Emacs opens gates for text consumption - I'm reading this entire HN thread in Emacs, just like I consume Jira, Slack, Telegram, Reddit; control YT vids, my browser tabs and history, etc. I search through Splunk and Datadog logs, Wiktionary entries and just general googling - all done in Emacs. I browse million-line codebases on GH without ever having to clone them. If there's a piece of any kind of text in the computational vicinity to my active Emacs instance - this laptop and all connectable devices, I can easily make use of it.
And this gets incredibly important in the age of LLMs. I can read, manipulate, navigate, search through, diff, sort, group, slice, dice, salt and pepper any kind of text. Give me just about any other editor instead and I immediately will feel handicapped.
IDEs that are not malleable (by design) are at an exact disadvantage. I can change any aspect of my editor in the middle of typing this very comment without ever losing the state, the context, or my mental focus. No IDE even hypothetically capable of doing any of that.
I code in Emacs almost every day. I read and write e-mail in Emacs almost every day. I take notes in Emacs almost every day. I maninpulate data in Emacs almost every day. Yet I don't know LISP (any LISP!) at all, I barely use any packages beyond "whatever it is that Debian ships by default", and I'm quite bad at fancy Emacs shortcuts. My Emacs config file is a hodge-podge of little snippets I don't properly understand – and it measures in at just about 100 lines, including comments and whitespace, with a significant part of that being just mundane configuration data for the mu4e Emacs client!
This has been the case for about 15 years now. And I'm the kind of person who really likes to know my tools. It's such a ridiculous situation! I somehow never get properly around to sitting down and learning, and I really struggle to make LISP click.
Sigh. I hope I'm not alone. I really really really should learn this thing!
Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!
I'm a Lisper. I switch between Lisp dialects, sometimes multiple times a day. Since I got my LLM harness to work from inside of Emacs I no longer need to even look at Lisp that it generates for my config.
It is very justified use of AI - if anything breaks, it breaks for me, and mostly just for me. And whenever something doesn't work as expected - I don't even try to debug it anymore - my harness has introspective capabilities - it can run the profiler, monitor changing vars, debug and just fix things.
Now is the best time to try Emacs. If people before could complain that Lisp is weird and not easy to grok, it's not a valid complaint anymore.
emacs is a rabbithole and the cost is rarely worth it. LLM agents do a great job already customizing your configuration for you.
I myself used Emacs heavily for 9 years before learning elisp (clicked on my 3rd attempt).
IMO, the included Elisp guide is not good for beginners. My recommendation:
Separate the language from the ecosystem. First focus on simply learning the basics. How do you set a variable? How do you write a loop? How do you write a function? These things are as easy in Elisp as they are in other languages. Perhaps use Exercism to practice.
Of course, also learn the related keybindings (C-M-x to evaluate, C-x C-e, etc).
Only then start understanding some of the basics of integrating with the rest of Emacs (unwind-protect, save-excursion, save-restriction, etc).
Modern editors build layers upon layers of IPC, JSON-RPC protocols, and sandboxed extensions to keep the user from touching the core. Emacs did the opposite: it gave the user direct access to the live execution state. You don’t "configure" Emacs from the outside; you mold it into the exact operational extension of your own thought process.
In an era where modern developer tools consume gigabytes of memory just to render a UI tree, there is something deeply grounding about a piece of software from 1976 that still offers the most malleable computing medium on earth.
Compared to VSCode, Eight Meg And Constantly Swapping does sound ridiculously parsimonious in 2026.
https://www.gnu.org/fun/jokes/ed-msg.html
but I guess trends elsewhere were so keen on adding abstractions that now Emacs is an efficient, parsimonious choice by comparison.