Emacs and Vim in the Age of AI (batsov.com)

by psibi 145 comments 201 points
Read article View on HN

145 comments

[−] xenodium 63d ago
I put off adopting popular agents for most of 2025 primarily because there was no agent-agnostic path to first-class Emacs integration. That changed with ACP (https://agentclientprotocol.com), thus I started working on agent-shell.

I'm happy with how the integration is shaping up, enabling me to have my cake and eat it too (Emacs + AI agents).

I wrote an agent-shell post recently with the latest changes https://xenodium.com/agent-shell-0-47-1-updates

[−] hbogert 63d ago
You have Every right to plug your agentshell here. I love it and I don't even care that much for agents (yet)
[−] mark_l_watson 63d ago
I agree, agentshell is a nice way to chat with LLMs. Well worth setting up. Emacs eye candy.
[−] xenodium 63d ago
That's nice to hear. Thank you!
[−] nachojreilly 63d ago
I tried it and was underwhelmed. Without /resume or /rewind, it's unusable. After Opencode botched a simple yes/no (yesterday's top HN story), I'm convinced the frontier model companies will continue expanding the usability gap between their proprietary harnesses and the open-source ones.
[−] xenodium 63d ago
Resume is supported by agent-shell, but is dependent on agent's to implement the relevant ACP. Do you know if OpenCode's ACP implementation has listing and resuming session support?

Also, you'll need to enable resuming as per post (it's a new feature) https://xenodium.com/agent-shell-0-47-1-updates

[−] jurschreuder 63d ago
I'm not sure AI Agents can already beat the average VIM user.

I use VIM and I get some inspiration from LLMs sometimes, but me and other developers always after some time give up and just quickly do it manually.

AI Agents will just full the code with maaaassive swaths of texts it will just make a project unusable.

We even get paid to turn client's AI LLM Claude sketches into real programs.

[−] keithnz 63d ago
This is not my experience at all, the AI agents are many many many times faster than what I can do. What anyone can do. It's crazy how quick I can create stuff these days.
[−] gdorsi 63d ago
It really depends on what kind and of job you do.

If it's not something very common LLMs could end up generating random code.

Also if you work on something performance critical, you can get inspiration from LLMs, but they often don't write fast code.

[−] keithnz 63d ago
not my experience, they write fast code, and if you ask them to optimize, can pull all kinds of tricks out of the bag. Even with some of the niche stuff I work on, they seem really good.
[−] mchaver 63d ago
Without telling us what kind of code you are talking about it is hard to compare. I would say that is true for CRUD web code because there is so much out there that the LLMs can reference.
[−] keithnz 63d ago
I work on all sorts as we have an IoT product offering.... embedded bare metal systems, web, backend IoT servers, Gateways, APIs, Import/Export Systems, Integrations with Manufacturing systems, accounting systems, Automatic Test Equipment. I've been coding for nearly 50 years now, so pretty experienced. What peoples comments seem to imply to me is that they haven't really gone full agentic coding, where you hone your context, your tools, and how you iterate and test with an AI agent. Where any mistakes an AI makes you make sure it can't do it again, you have it setup so your AI code reviews are honed to focus on the things you care about etc.
[−] gdorsi 63d ago
Software development is a quite vast discipline.

In my experience performance of LLMs can be surprisingly good on things that are not mainstream, like database engineering, and surprisingly bad at mainstream categories approached in an unconventional way.

That said, I'm amazed that you have 50 years of experience and still able to have the mental flexibility to adapt to new development paradigms.

As you imply, this stuff isn't simple to pick up, and is completely different on how we have done our job without AI.

[−] cbm-vic-20 63d ago

> I'm amazed that you have 50 years of experience and still able to have the mental flexibility to adapt to new development paradigms.

This is the root of age discrimination in technology fields.

[−] gdorsi 63d ago
Sorry, I now realize that it could be read like this.

Just to clarify, I meant to share admiration toward a fellow engineer.

I do not think that age implies any hard assumption, usually brings cultural diversity which is good.

[−] keithnz 63d ago
gdorsi , it's not that hard to swap really, because the goal, designing systems, just got easier. I feel AI lets you be a system engineer way better as you can quickly iterate. I have the same kinds of goals in mind, just can do it a heck of a lot quicker.
[−] keithnz 63d ago
hubertdinsk, can't reply directly... but yes lots of niche things, especially in the embedded side, automatic test side. We have a lot of hardware, we control a lot of things, sense a lot of things. There's nothing inherently complicated about it such that AI can't code, in fact you feed AI technical data sheets its insanely useful when writing code against that hardware. It's going to pick up on all the weird nuances. It's great for protocols, especially proprietary ones. Anything with spec sheets are good.
[−] hubertdinsk 63d ago
there's no magic anywhere. At the end of the day the result is 0 and 1 onto memory.

The approach to get there is the differentiate factor. If you are to tell a probabilistic tool to be 99.9999999% correct it would just be silly.

[−] hubertdinsk 63d ago
so not niche at all. You described a bit of everything.

Niche is more like "ISO26262 compliant, response time under 50ms, measured with a oscilloscope with at least 40MHz bandwidth, failure rate less than 10^-7, proven with maths and soak tests". It gets more niche the closer you get to hardware.

Next word prediction will get you laughed out of the room.

[−] armchairhacker 63d ago
AI can generate code much much faster.

But do you never need a specific change (e.g. bugfix), that even describing in English is slower than just doing it? Especially in vim where editor movements are fast.

[−] jnpnj 63d ago
Anybody using cursor or antigravity ?

I tried them a bit and often they can infer immense amount of ideas from the immediate source context and suggest paragraph patches semantically close to what I had in mind from just one word.

Saying this as a vi/emacs user who liked to automate via macros, snippets, dynamic overlay inserts and what not.. I still enjoy being sharp on a keyboard and navigating source / branches swiftly but LLM can match and go beyond it seems. (not promoting them, feel free to stay in good old vi command sequences if that's fun for you)

[−] armchairhacker 63d ago
I’m using Sweep autocomplete, which is like Cursor’s but in JetBrains, and it’s very good. Most of the time, I start the change and Sweep finishes it. Sometimes for larger changes, it initially has the wrong idea, but as I continue it eventually figures out what I’m doing.

Unfortunately they’re sunsetting it, ironically apparently because people aren’t using it. I think it’s strange this hasn’t been posted to HN. They say they will release an open-source local version; otherwise I’ll have to figure out an alternative, because it really saves time and effort…

[−] keithnz 63d ago
possibly there's cases where maybe you want to change some text or something, but I don't think its faster in vim given you likely don't have that file open, and by the time you get to the file, and location, you could have fixed it with your agent, not only that, you could have generated the test case and then fixed in your agent
[−] 1718627440 63d ago
I think you missed the point. It takes more time to write English prose than to open a file and just fix it, so unless the time the LLM needs is somehow negative, it's not going to be faster.
[−] keithnz 63d ago
I didn't miss the point, it just feels like the people saying that really aren't using these tools as it just is not my experience at all. I've been a Vim user for multi decades now. There's just no way, it's far easier to type a prompt except maybe if you know exactly what file and exactly where in the file, you might be able to do it as fast as telling the AI to do it. It's not hard to get a minor fix done with a prompt and doesn't take too much English in my experience.
[−] skydhash 63d ago
Maybe it’s hormones, but time flies when you do edit with Vim or Emacs. It’s like playing on a piano. But using AI is like listening critically to someone playing trying to find mistakes. And that’s boring as hell.
[−] jakobobobo 63d ago
If you ask to do a fix you need to read/verify what is done. If you are confident with your editor you go through long amounts of actions knowing your error rate is low enough to use less visual feedback loops.

I'd be curious how one gets to the error rate where they don't think they need feedback loops. Anyone can learn to touch type because the physics are deterministic and can expand from that to touch edit in something that isn't hopelessly WYSIWYG only.

[−] zhann_dc 63d ago
I'd argue you should be working towards no longer having to do these because agentic systems in place will do it in your stead.

All you need to do now, is sign off the code and adjust the agent so it would do these as you would.

[−] bandrami 63d ago
You're forgetting to count the time you spend deleting the excess stuff
[−] keithnz 63d ago
no... I'm not.
[−] bandrami 63d ago
Then you're forgetting the time your sysadmin spends doing that
[−] otabdeveloper4 63d ago
Note you're replying to a guy who never said anything at all about being "faster".

P.S. Software developers aren't being paid to be "fast". In fact, being "fast" is called "technical debt" and you're usually punished for it as a software developer.

[−] mvanbaak 63d ago
I'm a vim user. for decades. Your post does not align at all with my experience.

If you prompt and hand-hold the LLM it is a big help. Things like boilerplate, basic crud etc etc is something I dont have to worry about anymore. And if I am looking at an unknown codebase or area, the llm can explain things to me, it's the rubber duck that talks back.

I'm not using vim plugins (yet) for LLM, tmux and a couple of panes etc is all I need at the moment.

[−] cholantesh 63d ago
The only thing that I find AI is consistently excellent at is giving me a snippet to do something particularly esoteric in my shell and parsing out errors from a massive logfile that I would probably have taken an order of magnitude longer to find myself.
[−] mark_l_watson 63d ago
Nice writeup! The list of Emacs packages to use LLMs is the roadmap for getting started with AI Emacs integrations and I also liked his list of AI dangers at the end.

I have used Emacs for over 40 years but I found myself getting sucked into the black hole of VSCode as discussed in the article. When I bought a new MacBook a few months ago, I only installed Emacs, no VSCode, and so far that is working out for me.

Also, after many hours of experimenting with AI packages for Emacs, I have reverted to keeping Emacs mostly a pure human activity, and several times a week have sessions with gemini-cli and Claude Code when I want an AI coding assistant. This is just for me, not general advice, but I like to separate use of AI from my regular coding and writing workflows. I use AI for coding cumulatively about three or four hours a week.

[−] reddit_clone 63d ago
I am reduced to keeping Emacs and VSCode open on the same files/project :-) Use the LLM from VSCode and switch back to Emacs for regular editing!

Currently trying out various Emacs packages. I got 'claude-code.el' actually working. But there is some flickering and also the interface is a bit wonky.

I will try other packages mentioned in the article.

For the life of me, I can't _edit_ with VSCode. My Emacs/Doom/Evil muscle memory is too ingrained.

[−] iLemming 51d ago
Install ECA. Read my comment in the same thread. Once you hook up elisp evaluating MCP to your Emacs - it is game over for anything else. Nothing even comes close to the experience. I've been functioning in ADD mode - Annoyance-Driven-Development. I'd get annoyed by some small issue, and without missing a beat, I'd start typing. Well, sometimes I don't even type anymore - I'd just speak and let Whisper transcribe it and Emacs performs some crazy shit. It's not even funny how crazy it is.
[−] karthink 51d ago

> Once you hook up elisp evaluating MCP to your Emacs

gptel-agent ships with an elisp-eval tool out of the box, BTW.

[−] iLemming 50d ago
YES! I almost forgot about that. What I love about gptel that I can send a request to an LLM from virtually anywhere - any buffer, even minibuffer. Sometimes I "talk" to AI while typing a message to my colleague. I can ask some model to improve my prompt while typing the same very prompt for a different model - that's just bonkers.
[−] iLemming 51d ago
Reading comments I feel you guys (Emacs users) have NO idea. I made a tiny MCP in babashka (I could've done it in Go, Rust or literally any other language, but chose Clojure).

So what the MCP does it just evals Elisp in my active Emacs session via emacsclient.

Now, I can tell LLM to change practically any behavior of my editor, and because it's in the REPL-driven loop, it opens up some mind-blowing opportunities. The other day I developed a tiny package on the go, while at some point I asked Claude to run the profiler, find the bottlenecks and fix them - the whole thing was a jaw-dropping complete and utter bananas.

They say: "Well Cursor can understand your code contextually"... Dude! My LLM-infused editor understands not only some arbitrary code, it can touch and improve it's own code at the point where it's touching your arbitrary code. On the fucking go!

Using Emacs was fun before. Now it's gotten crazy awesome.

[−] himata4113 63d ago
I swapped from jetbrains products to lazyvim/nvim and honestly without AI it would have not been possible. The speed I was able to configure it exactly how I wanted and support workflows jetbrains would never support is great.

Escaping the god awful AI implementations in both vscode and jetbrains product is also a refresher. They don't know what the ** is going on, they don't know what users want, but I do and AI being able to extend my IDE in a way that helps me be more productive is very undervalued.

[−] hackerInnen 63d ago

> They don't know what the * is going on

I'd assume that a good portion of people working on things like that know what is going on. My (very very subjective) feeling is that they just spit out WAY more tokens than needed, so that it hits the limit as fast as possible and people buy more. And the people responsible for that are probably the evil evil PM's

[−] himata4113 63d ago
I don't know I never once felt that any AI integration in IDE's was actually worth using over a cli and that's a very low bar compared to a tui.
[−] iLemming 51d ago

> I never once felt that any AI integration in IDE's was actually worth using over a cli

That's right. I started with Claude in the CLI. But then I found a way to hook it up to my active, running instance of Emacs. And since Emacs is neither an editor, nor an IDE (in the typical sense) but rather a Lisp-REPL with embedded editor, I can now fully control virtually any aspect of my editor via LLM, running in the very same editor.

I can't even describe the feeling - it's absolutely insane. I can for example give the LLM some incident ticket number, then ask it to search for all the relevant Slack conversations, PRs, and Splunk logs, build me some investigation audit log and dump it all into an Org-mode buffer with massive data and then reduce it into a sparse tree where the entire document is folded as much as possible, but the selected information is made visible. Then I can continue the investigation, while the LLM would be adding and removing data from that buffer dynamically (or adjusting the sparse tree), depending of how the investigation proceeds. It's crazy, because I can ask it to programmatically change virtually any behavior of my editor on the fly.

[−] rgoulter 64d ago
May be splitting hairs, but I don't think it's the terminal-native part that's relevant, so much as that both LLMs and emacs/vim are text oriented in ways which e.g. VSCode isn't. (Or perhaps just the text-oriented nature is a result from initial constraint from being terminal-native).

As the author points out, that Emacs is a highly extensible 'operating system' which makes it relatively easy to bring different tasks together. -- This ought to be a natural parallel to what the agentic tools are trying to do (use MCPs and skills etc. to bring different functionality to the LLM execution environment).

That LLMs can help users extend emacs ought to lower the difficulty curve.

Still. It's silly to wish that Emacs could be the LLM's best friend, rather than demonstrating how it is.

RE: "what if in the future all coding skills are irrelevant". My experience has been that good results from LLMs come from putting good thought into its usage. They're quite far from a magic "push the button and get the result you want" where the skill doesn't matter.

[−] chamomeal 64d ago
Not totally related to your point BUT I’d like to tack on that lisps and generally repl-friendly languages are in an interesting spot in the LLM-enabled world.

The calva-backseat-driver vscode extension runs an MCP that lets LLMs manipulate and eval clojure expressions in a REPL. It provides a tighter feedback loop and lets LLMs do much more complicated stuff with much more confidence. They can test functions as they go, read docs, check query outputs, write and eval tests. It’s actually crazy what Claude opus can do with REPL access.

It might be insanity to let an LLM modify your emacs on the fly, but I’m sure people will have some crazy and interesting ideas in that vein!

[−] minikomi 63d ago
I don't let it execute emacs lisp itself, but elisp generated in org mode babel blocks which is instantly executable is a fine way to have gptel improve itself.

( See "meta tooling" in https://poyo.co/note/20260202T150723/ )

[−] FabianCarbonara 64d ago
This is super exciting. Emacs already treats UI as just more Elisp to eval. The AI could sculpt the entire editor to whatever you need in the moment. No plugin to install, no config to maintain. Just describe what you need and the editor becomes it.
[−] szopa 64d ago
I have been a die hard emacs user for 20 years, and I have a very nice emacs setup (if a little bit idiosyncratic, but all emacs configs are idiosyncratic). However, recently I realized that I read code, but almost never write it. What is more, I spend a lot of time doing it in tmux, over mosh, from my phone. Emacs ergonomy is just not great if all you have is a horrible phone keyboard (and no swiping, because tmux redraws the screen if you swipe). And then I discovered helix. It has all the things I was jealous about vim, BUT it has sane defaults ootb. And truth be told, another thing I use a lot is bat, which is cat with syntax highlighting and an automatic pager.
[−] truncate 63d ago

>> recently I realized that I read code, but almost never write it.

I think most engineers are reading code than writing it. I find it very hard to not use Emacs when reading large codebases. Interestingly, its mostly because of file navigation. I love using ido/ivy for file navigation, quickly filtering through buffers, magit.

Emacs in terminal is not an ideal experience though. So I can imagine it being multi-fold worse with phone keyboard.

[−] johanvts 63d ago
Emacs has multicursor, lsp and treesitter so from just reading the helix landing page idk what you gain? Bat sounds interesting, thanks.
[−] skydhash 63d ago
What I like about Emacs (which has made me switch from Vim) is the sheer amount of tools you have by default. Vim can have something similar, but you have to do a lot of config or install plugins to get them.
[−] locknitpicker 63d ago

> However, recently I realized that I read code, but almost never write it.

This has been the norm for a few decades. Even software engineering courses emphasize the fact that code is read far more often than it is changed, which leads to all the basic software engineering principles around the importance of making code easier to read and to navigate through.

[−] beemboy 64d ago
I'm not convinced that terminal orientedness of AI tooling itself will last. My hypothesis is that it was chosen by developers of the current generation building for developers of the current generation. I hypothesize that there is a future where command lines and terminals don't matter, and hence I feel the focus will shift to, as the author points out, to planning, reviewing and ideation tools none of which demands a command line. In fact I expect an entirely new class of tool to emerge that does these things well that is neither an IDE nor terminal based. I think Claude Code's core will live but it's interface will morph in the coming years to adapt to the builders of the next generation. The analogy I use is my kids and manual transmission cars -- they grow up with EVs and single gear drives with linear torque curves, and will have no nostalgia for a manual transmission, engine noises, or supercharger whines. If you never used a terminal, will you pine for it?
[−] vohk 63d ago
I'm not about to put any money down - I lack that degree of confidence in my prognosticating - but I doubt the terminal will ever really vanish, for much the same reason that 20 years of touch screens hasn't really put in a dent in a keyboard and mouse for serious work, and game controllers have barely changed despite multiple attempts at VR and other interfaces, and why the stylus is still going strong after more than 5000 years. Sometimes you just get it right.

A text interface is just really damn good at efficient and precise information delivery and interaction, in a way that takes a lot more work for a GUI to match, and they are composable in a way GUIs simply are not. Most users won't - and currently don't - care about terminals, but I doubt it will ever stop being a standard tool for power users.

I don't doubt we'll see new paradigms emerge, but I think they'll come in the form of higher level abstractions for certain classes of task rather than a replacement for the sort of TUIs and GUIs we have today.

[−] i_am_a_peasant 63d ago
Yeah, I can’t imagine why anyone would think that moving away from the most explicit source of truth possible would make AI work any better. the things good UIs excel at is data representation, not processing. Representing a tree or a graph in text sucks. But AI can sure read a text representation of a tree or a graph and reason about it much faster than through a UI
[−] ffsm8 63d ago

> but I doubt the terminal will ever really vanish

I always smiled when in the various Star Trek series (pre 2005) the main crew made something in the holo deck it was always via voice commands and essentially "vibecoded", but whenever details mattered (veeeeeeery rarely, almost never) and a specialist was consulted, that'd be someone clearly looking at a mobile terminal interface

It's obviously fiction, but it amused me nonetheless... And it's possible that that's the future of our industry. But if it is, it'd consider it a dead industry, honestly. Even in that fictional universe, the value the specialist provides is almost never necessary

[−] pjmlp 63d ago
I have switched to pen and handwriting reckognition in apps that support it.

While using AI, if I am alone on the room, I use voice to text, no way I am typing book sized text that would make any COBOL programmar laught.

[−] rtpg 63d ago
This stuff stands on the foundations it's built off of. It's very hard to argue against the stoic determinism of an ls call.

And all the success stories I've seen in people using these tools have had a similar theme: top level might be LLM-y but you rush to get to deterministic straightforward building blocks so that you can have reliability.

That, to me, looks like writing up a bunch of small programs to help establish vocabularies and workflows to avoid just churning and getting lost in the weeds.

I'd be interested in seeing some future form of process orientation, but in the meantime.... shells in general have proven they are decently good at tying stuff together quite well.

ls dir | grep thingy | process gonna involve less possibility of annoying drift and churn than "run process on all the files with thingy in their name in directory"

[−] discardable_dan 63d ago
Coining this phrase now: "It's the tokens stupid"

Hooking up to and generating calls across filesystem APIs cost multiple orders of magnitude more than calling ls. These tooling ideas are interesting, though. Maybe Kenneth_E._Iverson was right all along?

Talking to another senior dev over drinks tonight, we both worried not about our work but about who might come up never having written a single line of code. Never even opened a terminal. Is looking at the code something you learn in semester 5?

I think computer science education is going to stomp onward, poorly. And we will get that generation. And things like "terminal tooling is going out of style" won't even be said any more. Hacker groups will turn from discussions about new ideas to talking about doing leetcode without AI.

Our art died because we used our art to kill it. We are the last human masters.

That's a funny thing to think about.

[−] rekrsiv 63d ago
A terminal still offers a more composable interface than a GUI. Analog feedback is still a concern for high level pilots. You are confusing power tools with entry-level instruments.
[−] kingkongjaffa 63d ago
I think AI tooling has actually reminded us how useful the terminal really is. running claude code, running formatters and linters and test suites, managing incremental work with git etc. Are all vital in the modern way we write code. I don't see how you can put a glossy UI on top of that and maintain any fine-grained control. Since we're already giving up a LOT of control by having agents write our code, we need to retain some control and certainty over the quality control and review process of the outputs.
[−] mrtz 63d ago
I'm somewhat agreeing with it. CLI tools won't go away, since lines of text as an exchange format between tools is extremely powerful, especially with text based LLMs. However using an interactive TUI application to prompt agents will probably be less relevant in the future. E.g. if I want to build a web frontend, why wouldn't I just prompt and interact directly on the side I'm building?
[−] ManuelKiessling 63d ago
My current assumption is that the interfaces and workflows that stakeholders and product owners use today to manage software engineering resources are the future interfaces and workflows towards agentic engineering systems.
[−] hrmtst93837 63d ago
[flagged]
[−] myrak 63d ago
[dead]
[−] flipped 63d ago
[flagged]
[−] globular-toast 63d ago
Emacs is a true bicycle for the mind. It sets you free in many ways, always wanting to be the tool that simply allows you to do your job more efficiently and effectively.

LLMs are like living with a depressed person who doesn't see the point in doing anything because it's all just been done before. Who cares if you do a good job? Just recycle some shit that others have done and it'll be passable. This isn't a bicycle for the mind, it's just going to drag you into depression with it.

[−] specproc 63d ago
I'm a long time VS Code boy, but have recently started dabbling in Vim because I'm exhausted with AI.

Every VS Code update these days feels like it's exclusively AI orientated. The Vim approach seems fundamentally opposed to an AI-driven development model, or at least says, like everything else, "sure, you can do that, but set it up yourself."

I find the Vim philosophy appealing coming from a work environment that wants to replace me with API calls to American companies.

[−] alexpotato 63d ago

> AI makes configuration and extension trivial

I recently said to a co-worker:

"Linux is free if your time has no value" is no longer true in the era of LLMs. Just about any wonky Linux issue can be fixed quickly with even just OpenCode and free models.

[−] lexicality 63d ago

> Let’s revisit the doomsday scenario. Say programming is fully automated and nobody writes code anymore. Does Emacs die?

Commercial programming will be fully automated. That will not stop people doing it by hand. For all intents and purposes clothing manufacturing is fully automated but some people still do it themselves.

One example near to my heart is my mother. She collects her dog's shed winter coat in the spring, cards it, spins it and ultimately knits it into a coat she puts back on the dog the next autumn - all by hand. She could just buy a cheap dog coat from Amazon, but she thinks it's funny to see the dog wearing a coat made of its own fur so she bought the equipment and learned the functionally useless skills required to do it.

No matter what level of automation is available, a small number of people will still do things the hard way as a hobby or out of perverseness. We might be living in the matrix in 100 years but I'm certain someone will still be trying to work out how to exit vim in their holopod

[−] jwr 63d ago
My time spent in Emacs has *increased* with the increased use of AI. I have to read, edit, accept and reject all those code changes and Emacs+Magit is pretty much the best interface for that.
[−] imiric 64d ago

> Part of the case for Emacs and Vim has always been that they make you faster at writing and editing code.

That was a side-effect of using software that is deeply customizable, but not the main goal. It comes from being comfortable with your tools to the point of relying on muscle memory to use them. The main benefit to me has always been comfort. My favorite commands are a keystroke away, I know how the tool will react and what it's doing at any moment, I know all of its quirks, etc.

None of that changes in the age of "AI". This new technology won't replace computing for me. My hurdle to adopting "agentic" workflows has nothing to do with my choice of tools, and everything with not trusting the companies and ecosystems around this new tech, especially during this insane hype cycle. I've been slowly adopting parts of the stack I'm comfortable with, because, again, my comfort trumps anything else.

Besides, if anything, a deeply customizable platform like Emacs is ideal for building any type of workflow. There are already great packages for LLM integration, and I don't think Emacs users are missing out on anything. The fact "AI" companies decide to build their moats with custom tooling is not a problem I care about. Apple has been pushing their idea of what computing should look like for decades, and it has never appealed to me. I don't miss something I don't want.

Anyway, confusing article. The author acknowledges all of these points, but also the alternative scenarios. Both cannot be true for the same person. There will always be people who enjoy using Emacs and Vim because of their customizability, not necessarily their features. And there will always be people who just want to use a supported and official product, without any tinkering. Emacs and Vim will outlast this hype cycle just fine.

Thanks for all your work, batsov! I do hope you stick around these communities. :)

[−] igor47 64d ago
Agreed on the config. I just launch a Claude code in my vimrc directory now if I want to change anything about my setup or have any questions about how to do something.

Also, I love running a tmux pane for vim, and then like 4 or 5 more -- a few Claude code instances, one for the dev environment, one for interacting with jj/git or other random commands. So easy to switch between tasks. My main annoyance with my setup is that my Bluetooth trackball times out after a period of inactivity, and when I eventually need to use the pointer again there's a lag while it reconnects...

[−] gbro3n 63d ago
I'm a muggle when it comes to vim, but I've considered learning it again recently because of AI. I'm building more than I have in years because I love being able to try things out without investing 3 months to get something working before I can really test the idea. And so I am typing A LOT. Less code, but lots of markdown, prompts and config. My hands are hurting, I really wish I had a power tool for typing. Writing is always going to allow us to be more precise than speech, and is a tool for creative thought in its self. I can see how we might be bearish on our expectations around new adoptees, but I think there's pressure to get more out of our editors too. Two of my recent projects have been vscode extensions, because I'm needing more help from my editor, not less: https://www.appsoftware.com/blog/fixing-agent-llm-context-de..., https://www.appsoftware.com/blog/as-notes-turn-vs-code-into-...
[−] stephc_int13 63d ago
How much of this article was AI written? I can sense the AI smell all over the place, also I found it way too long with little substance, but maybe that’s just me.
[−] komali2 63d ago

> Imagine an AI assistant that can read your org-mode agenda, draft email replies in mu4e, help you write commit messages in Magit, and refactor code in your source buffers – all within the same environment, sharing context. No other editor architecture makes this kind of deep, cross-domain integration as natural as Emacs does.

I've been a devout emacs amateur for 10 years, and recently learned nvim/lazy.vim because I was tired of web dev kinda sucking in emacs. Sure, you can get a setup with lint-on-save, inline TS errors, and all the other bells and whistles you get in vscode working on a react-tsx project, but then when you helm-projectile-switch-project to a vue project, suddenly you have to get a whole new config set up. And oops, for whatever reason, tab spacing isn't being pulled from the editor config for this directory...

But like the author says, LLMs fixed that. I pointed Warp at my emacs config, said my problems, and said "fix plz," and it did. No more "oops," just "fix plz" whenever I'm editing rust, or svelte, or golang, or whatever else for the first time in emacs.

I'm very excited for the possibility in the portion I quoted. I moved away from mu4e and org mode because managing it all was getting tedious: too much time procrastinating by tweaking org configs. Too many emails not rendered properly in mu4e or fat fingered by me and lost. But in world+llm, that's not really a problem anymore. I haven't migrated back to org mode yet but I did an experiment recently asking claude to set up org similar to my trilium set up, and it did a passable enough job that I was convinced it's possible.

So, now I'm back in emacs, trying out the various LLM tools, doing poorly at getting anything other than copilot to work well, and waiting with patience and desperation for someone to make an LLM completion experience in emacs that has a multiline completion experience at least 50% as good as Cursor's.

[−] lorenzohess 64d ago
Agreed.

We should also consider whether the rise of AI for any type of implementation task will reduce the number of new Emacs and Vim users, thereby limiting and ultimately killing the communities' growth.

I came to Vim, and then Emacs, because I wanted a tool for coding that I could configure exactly how I liked. If AI does my coding for me, my need for a custom editor will decrease. More generally speaking, if AI can do any type of implementation task -- coding, task management, email, etc -- my need for software customized for those things will decrease.

If people don't need custom software, many fewer people may seek out and find Emacs and Vim.

Who will maintain them and evangelize once today's generation cannot?

[−] nunez 63d ago
There's an unofficial Claude Code plugin for Vim. It only does plan mode afaik. I haven't used it, but I have considered it.

That said, I've been using Vim as my editor for the last ten years. The last few companies I worked for had integrations with VSCode, so I use it sometimes so that I could show those off, but nothing about it makes me want to give up my awesome Vim setup with my weird color scheme (Dalek).

It took me a few months to go fast with Vim, but once I did, nothing compares. (Yes, I have tried the Vim plugin for VSCode, though it's been a few years.)

RIP Bram; thanks for giving the world this wonderful and timeless piece of software!

[−] baokaola 64d ago
I find Emacs better than ever in the age of AI. Install agent-shell to run Claude Code inside Emacs and give it a skill to run Emacs Lisp using emacsclient. Voila - now you have all the integration you could ever need if you are a little resourceful.

Claude Code can now introspect the entire editor and it can manipulate everything. You can have it build whatever features are missing - it will even debug those features for you, live in the editor.

I recently came back to Emacs from VSCode and ended up just letting Claude build me the features I was missing, mainly related to tabs and project management.

I think Emacs has unique advantages in the age of LLMs, you can just mold it like clay.

[−] emporas 64d ago
In my mind I had the opposite picture than the one the article portrays.

Emacs was lagging behind common IDEs, like IntelliJ and VsCode, cause big companies put thousands of developers to combine many features into one integrated package and everything works together providing a very smooth experience compared to Emacs (and Vim probably).

Now IDEs are useless. I personally haven't felt the need to goto_definition or autocomplete variable names for almost 2 years.

Now programming becomes closer to plain text writing and editing and it levels the playing fields for all editors.

Also Emacs can run Rust plugins, the user is not limited to Elisp. Not very convenient but possible.

[−] ywatanabe1989 63d ago
In my view, Emacs is getting more powerful in the AI era. The cost of writing Elisp has dropped significantly — I've ended up with 15+ personal Elisp packages as a result. The freedom Emacs offers is still unmatched. For example, I heavily rely on sending automatic response (https://github.com/ywatanabe1989/emacs-claude-code), monitoring repository, and targeted context building from dired.
[−] hackerInnen 63d ago
I mainly use (neo)vim because it has a less distracting interface than any other full blown IDE. Not because of some fancy tooling. And because it is faster, but that might be a negligible reason by now.

I purposely try to keep my extension count as low as possible. It's just too distracting for me personally.

If I really want to use AI tools or something else, then I don't mind opening a full suite, but as of right now, I still spend most of my time in vim and use AI mainly in chat mode.

[−] amdivia 63d ago
I'm yet to find a satisfying vim AI integration. I want something that blends into my vim workflow, and does not require me to switch Windows and copy paste or reload my open buffers after AI agents edit my code.

For instance I would love for it to seamlessly melt into a "highlight comments/pseudo code" -> some keybind, then AI would expand those to actual code for instance, or I don't know.. but something not like what we have currently

[−] gitaarik 67d ago
With the idea of the recent HN article that files are the common media of communication between humans and LLM's, it's still useful to have direct file-skills; to be able to read raw files the LLM outputs, or give it input through files, and able to manipulate the files efficiently. You can use an LLM to prompt to search through the files and all that, but for such basic things it's worth learning it yourself, if you do it often.
[−] lelanthran 64d ago
Yeah, I use Slime in vim to drive programs (like psql) via their stdin/stdout, so an "agent" that does stdin/stdout only for UI is perfect.

If I ever write my own agent, it will be in this fashion.

-----------------

[1] I have a scratchpad.sql file filled with whatever sql snippets I am testing and have psql mydbname in a vertical split. Doing C-c C-c in the scratchpad sends the paragraph to the psql instance.

[−] 4b11b4 64d ago
learning and using and customizing emacs has never been better

getting a bibliography and citation workflow up and running in org is incredibly easy. Use a model to read the first page of your PDFs dir and add bibtex entries...

then you just build your static site around that

please don't write with a model. We want your own prose

[−] shevy-java 63d ago

> The learning curve argument gets harder to justify too. “Spend six months learning Emacs and you’ll be 10x faster” is a tough sell when a junior developer with Cursor can scaffold an entire application in an afternoon.

IF this is the case. But is it?

I have some doubts because to me it seems as if domain knowledge is shifted onto an AI. Then you become dependent on the AI. Is AI really better than a skilled human though? After all, if AI is doing the work and the human providing the input to it as guide, it should be possible to cut away the human completely. So Skynet 3.0 does not need humans. But when it does, then something doesn't work in that explanation - AI must thus not be "smart enough".

[−] qiine 63d ago
"VS Code has Microsoft. Cursor has venture capital."

I would have framed this as a disadvantage ;p

[−] pjmlp 63d ago
I lived in XEmacs between 1995 and 2005, because in many UNIX variants having an IDE was a foreign word, not even something that could provide the affordances of a Turbo Pascal with Turbo Vision based IDE for MS-DOS.

Between Emacs, the improved XEmacs, and vi, the answer was obvious at the time, I joined the Emacs faction with XEmacs.

Mastered elisp good enough, had my configuration scripts, go to know enough vi to handle telneting (or sshing) into random UNIX servers without anything else installed.

Both are still kind of stuck in time, going back to them in random UNIX distribution feels like I am back in that UNIX decade.

[−] submeta 63d ago
For me, AI increased my NeoVim usage. Claude Code and Codex made me go full cli. I run several sessions in multiple tabs in WezTerm, using Tmux, Tmuxinator, and excellent tui based file manager named Yazi in left pane, opening files in NeoVim, running Claude Code in right split. With this setup I work on several projects in parallel. Use lazygit as git client. Everything in cli, super fast.

Initially I went with Cursor, but the terminal setup feels way faster, more natural.

[−] thenoblesunfish 63d ago
I still use Vim a lot, even though for work I use a fork of VSCode, like most people. Why? Because it's something I feel I can understand - it's simple and runs everywhere. It's the world of shells and text files. The work setup is a huge GUI with dozens of extensions, and now a whole other layer of non deterministic AI stuff. Useful, but it's a different kind of tool, one which relies on constant support from a large system.