Like LSP and tree-sitter, I think AI coding tools like Claude Code or Aider are very good news for niche editors like Emacs or Vim. Instead of struggling about implementing advanced IDE-like features, they can integrate with these tools relatively easily, and focus on other editing related features that set them apart. In fact, IMO it makes these editors more competitive because they are highly customizable and easier to integrate with these tools.
mikece · 5h ago
Is there a standard for integrating agentic coding tools into an editor similar to how an LSP allows the integration of language-specific features?
benreesman · 4h ago
Its not at anything like the adoption of MCP or especially LSP, and it takes a more "foundational and composable library of primitives" approach than "wire protocol per se" approach, but `gptel` has quite the vibrant little ecosystem around it and its just god mode, wall hacks on the VSCode stuff, just blows it away. I'm under extreme time pressure at the moment, I cannot afford to fuck around on ideology right now I have to go for the jugular every day, and that means "fuck the cost" Opus 4 use in `gptel` (though Qwen and K2 are pushing it out of more and more stuff as I learn the quirks, Opus 4 TTFT under load is unusable and when it starts fighting you on clean merge boundaries because its personality vector has been set to "token stingy" its strictly worse).
Its not that I dislike Cursor, its that I dont have time to put up with its compromises for non-extreme-power-user accessibility. I need an extreme power, cost indifferent, tuned for the margins stack.
That's nothing with a VSCode base that I know about, and I've tried Cline and Roo and Continue and written a bunch MCP servers and I measure it all, not even close.
I bet the neovim people have something just as good.
sexyman48 · 3h ago
cannot afford to fuck around, go for the jugular every day
Slow your roll. Nothing you write will matter in six months.
benreesman · 1h ago
Can't speak for you friend, but I got my ass kicked through a combination of the hiring freezes and absorbing a bunch of famiku-wide expenses around a nasty bereavement like, right before that and got pretty much wiped out. Having been very well off (to put it mildly) from like, 2010-2023, I was pretty unclear on the fact that going broke is straight up existential now in a way that was not true ten or fifteen years ago. If you've been doing alright for a decade or so, I wouldn't blame you for not knowing that.
But as a guy who is a known enemy of the Valley establishment to begin with rebuilding from all that? When I say I'm dead serious, I'm being earnest.
If you don't have a family/community safety net and/or a plugged-in nepo golden age network?
Stack cash on hand like your life depends on it, because it fucking does.
dingnuts · 43m ago
being broke was absolutely existential fifteen years ago.
signed:
someone who was broke fifteen years ago and has been stacking cash on hand ever since.
benreesman · 24m ago
I believe you, my situation might have been different. I never had much growing up and never had good jobs until like my mid 20s, I remember it sucking to be broke but not being scary if that makes sense? You could usually find at least a shitty job and even a shitty job could get you some kind of apartment or room even with bad credit. Nice apartments had hard credit checks but there were independent landlords everywhere, so if you didn't mind the occasional drug deal on your block, it was like, workable. Now its all property management companies with what amounts to one computer system and if you don't like it? AirBnB is happy to absorb every last house, room, carboard box, and park bench.
And a shitty job is no guarantee of a shitty room now, you see homeless people still in the Best Buy shirt they were wearing when they got laid off, and Best Buy is nowhere near the worst job.
I thought working hard and being really good at computer stuff was basically some kind of bare minimum job guaranteed, that being free with my money might mean not retiring young. Didn't realize tech employment was war.
Wrong. Won't make that mistake again.
kabdib · 2h ago
the code that i am least proud of is the code that has lasted the longest :-)
ljm · 3h ago
My 'beef' with Cursor is that the editor is part of the package and you don't really have the same kind of hooks into the agent that you do with Claude Code or similar, which really means you're at the mercy of the Cursor team to prioritise those things on their roadmap. That includes things like the limit of 40 MCP tools that you can only enable globally (and MCP proxies that try to do this dynamically are a bit flakey) - even just using the GitHub MCP blows through that limit because it's all or nothing.
It's good for what it is but I don't love that I have to change to a whole-ass new editor to get access to the agentic additions, when alternatives that require an API key or a more flexible CLI tool can do a better job.
cvdub · 3h ago
Are you using gptel exclusively, or also things like aider/claude code?
I’d love to hear more about your workflow if you have time to share!
benreesman · 3h ago
Sure. I'm experimenting like everyone else, but I mostly use gptel as the primary interaction surface and Claude Code for a range of refactorings and other "more than mechanical, less than creative" edits. Both of these are very (!!!) well complimented by magit, which is so good at AI supervision it seems designed for it, by a genius.
For Claude Code I'm rapidly switching anything I want "vibe coded" into Hadkell for code, Dhall for config, and check-heavy Nix for deploy. Between that and some property tests that I seed and then have Opus elaborate on, you can put Claude Code so restrictive that it just hits the compiler in a loop until useful code comes out. Its trapped: I hoist CLAUDE.md in from the Nix store so it physically can't edit out the brutal prompts around mocks and lies, and -Wall -Werror in GHC gives it nowhere to hide, all it can do is burn tokens and desperately Web Search tool until it gets it perfect ish or I cut off its money because this requires a real LLM minimum and likely a real programmer. If there's a property test welded into the type system it can't even fail to use a parameter: that's an error Claude.
I have a bunch of elisp in // hypermodern // emacs for things like OpenRouter integration and tool use, but frankly, stock gptel is so strong I always wonder if I'm getting my money's worth trying to tune it into the asymptote.
Happy to answer any more questions.
aquariusDue · 2h ago
Sounds wild! What have you built this way?
Also as another Emacs user I'm wondering what lesser known packages or elisp snippets do you use? gptel, magit, tramp and org-mode are the usually touted killer features, but what else do you use in the Emacs ecosystem?
I'm pretty happy just letting the standalone agent write to the file and then reloading it in my editor.
Though I wish the agent CLI tools would use something like inotify to notice when I've made a manual change to a file that they've recently written and then do a better job of incorporating that change as feedback to inform future edits.
dismalaf · 3h ago
It's always been that way. Emacs has had advanced IDE-like features for as long as I can remember. Vim too.
LSP and TS just make it easier to standardize across editors and languages.
yoyohello13 · 3h ago
I’ve always thought emacs is the ultimate editor for AI agents. The agent has so much access to the state of the editor itself and can even easily change editor behavior with elisp. I feel like editors which expose the level of customization like vim and emacs could potentially have a huge advantage.
iLemming · 34m ago
> vim and emacs could potentially have a huge advantage.
They always have had. It just depends on what people perceive to be advantageous. For me, VSCode's and IntelliJ's closed model for extensibility is a huge downside.
By "closed" I mean - restrictive plugin APIs, sandboxed execution environment, corporate gatekeeping, opaque core, etc.
I don't even try to "shop for more features" anymore, learning Emacs allows me to remain "goal-oriented", and more often than not, it enables me to get the shit done in a far more satisfactory manner. Meanwhile, almost every time I switch to IDEs, I hit some limitations. It's not even "skill-issue" or unfamiliarity, I do remember my days of using IntelliJ, of which I was a devoted user for almost a decade. The way how I solve problems with Emacs, is just not even close.
megaloblasto · 58m ago
This is awesome. I love emacs and I love integrating AI into my coding work flow.
What I really want is to be able to run something like this locally for, say, less than $2000 in computer hardware. Is this feasible now or any time soon. Anyone out there using agents with local models for coding?
calebkaiser · 45m ago
There's a lot of great work both around supporting memory efficient inference (like on a closer-to-consumer machine), as well as on open source code-focused models.
For running locally, there are tools like Ollama and LM Studio. Your hardware needs will fluctuate depending on what size/quantization of model you try to run, but 2k in hardware cost is reasonable for running a lot of models. Some people have good experiences using the M-series Macs, which is probably a good bang-for-buck if you're exclusively interested in inference.
Getting results on par with big labs isn't feasible, but if you prefer to run everything locally, it is a fun and doable project.
megaloblasto · 31m ago
Awesome. Great info, thanks
Is this just a fun project for now, or could I actually benefit from it in terms of software production like I do with tools like claude code?
I am interested in carefully tailoring it to specific projects, integrating curated personal notes, external documentation, scientific papers, etc via RAG (this part I've already written), and carefully chosing the tools available to the agent. If I hand tailor the AI agents to each project, can I expect to get something perhaps similar to the performance boost of Claude code for $2000 (USD)?
If not $2000, then how much would I need? I'm pretty sure for something like $75000 I could do this with a large deep seek model locally, and certainly get something very close to claude code, right?
iLemming · 47m ago
gptel supports all sorts of models, including localized ones.
vemv · 5h ago
I'm happily using https://github.com/stevemolitor/claude-code.el which is a mere terminal wrapper (including a nifty Transient menu). But just by virtue of running inside Emacs you get a lot of power - it didn't take me a lot of effort to create an efficient, customized workflow that felt much more streamlined than my older iTerm usage.
For both of the more advanced offerings, I tend to be a little cautious when adopting tools I'm trusting my productivity to. Most ambitious projects need to iron out misc stuff during their 'big bang' phase.
mijoharas · 3h ago
I tried that for a bit, and bounced back to just using claude code in a terminal. It was a little bit janky in emacs, and didn't have any features that justified not just running a separate terminal window (for me, at the time I checked it out).
I'm wondering if this project will work. It does feel a shame that it doesn't work with the existing mcp.el package[0], but I never got around to setting that up anyways. I wonder if it's a limitation of the package? or not wanting another dependency?
(in addition I've only really played around with claude code a little because I haven't gotten it to a place where I can make it write code I'd consider acceptable for my day job.)
One thing I really appreciate with gptel is that it is very easy to switch from Claude to something else like a local llm (via ollama or gpt4all for example). And the interface will be similar.
pjm331 · 5h ago
love the ability to add tools to the mcp server - would expect nothing less from emacs :)
as a long time emacs user i've only recently started really writing my own elisp tools, but claude is pretty good at writing elisp so i've been doing more there (sometimes it loses track of parentheses and you need to fix that, but overall pretty good)
I'll def be trying this out alongside steve yegge's efrit which kicks the emacs up to 11 by letting the agent just write and evaluate arbitrary elisp expressions https://github.com/steveyegge/efrit
benreesman · 4h ago
I'm a long time Yegge fan and follower and while I think he's still in the vibe code honeymoon phase and hasn't had the vibe code hangover yet, his bona fides on emacs are up there with anyones.
It was my observation around 12-18 momths ago that LLMs are weirdly good at elisp (which kicked off all the // hypermodern stuff I'm doing.
I think he's onto something with efrit, I havent gotten it dialed yet but its reaaallyy promising.
Karrot_Kream · 2h ago
I'm really glad that emacs is integrating modern tooling like LSP and tree-sitter, now Claude Code, but this approach is showing its age. I'm an emacs user of 20 years and honestly it's getting hard to configure everything these days. Claude Code before the IDE integration was actually the easiest thing to get working (since it just worked and then auto-revert-mode keeps my buffers in sync.)
I'm on a new MacOS install for $WORK trying to get lsp and ts work with a Typescript/Go repo and after some $PATH wonkiness (my default shell is not the same shell as the one that emacs launches in) got typescript-ls working but gopls is still having issues being downloaded. I haven't spent the hour or two it would probably take to figure out why the in-built downloader can't put gopls in the right place.
I'm curious what emacs users are doing these days. I'm using Zed right now and really enjoying it but it's really hard to give up 20 years of emacs and I do love how emacs can scale from small one-off config file editing to huge projects and I love how configurable it is.
Is neovim better in this space? Should I be learning how to debug elisp better to understand how the commands interact with my environment? I've been using emacs keybindings (in Dvorak at that) for so long I don't know if I'd enjoy the neovim editing experience.
iLemming · 19m ago
> Should I be learning how to debug elisp better to understand how the commands interact with my environment?
Hell yeah, you should. I just don't understand how the heck people would claim to be using Emacs for decades and still not knowing how to use the built-in profiler, edebug, apropos, macro expansion, advising system, indirect buffers, etc.
They would complain how "fickle" Emacs is, without even realizing that they are literally operating a living, breathing, dynamic and malleable system. If there's a car that allows you to assemble some parts onto it and turn it into a submarine while you're still driving it, of course it would require you at least the knowledge of basic troubleshooting and the acceptance that shit may break at any point.
You have no idea how liberating the feeling is when you can pinpoint a problem, launch a gptel buffer and then ask Emacs to write some elisp for a hook or an advising function, you can even try the snippet in-place, without ever moving it anywhere.
These days I don't even try to strive for a "clean" config - it's modular enough and I can relatively easily navigate through it. Whenever I face a problem, I just add some elisp. When something breaks (usually due to upstream changes), I don't even get annoyed. Identifying a problem and finding a workaround doesn't take too long - typically minutes - and it doesn't even happen very often.
nextaccountic · 18m ago
Note, Zed now has integration with Claude Code too[0], as an alternative to its own native agent (which funds Zed itself)
Perhaps if you solve shell issues there once, they will stick.
Karrot_Kream · 1h ago
I'm running Homebrew's GUI Emacs which inherits from its opening shell. If I run GUI emacs from my shell then it inherits the environment of the shell so that seems to be doing okay.
I'm quite busy outside of work right now so I'll probably take a crack at this in a few weeks, but it's also dismaying how annoying it is to manage all the ts and lsp dependencies to make my projects work, let alone pointing the lsp to use the right package.json or go path or other things. I have no doubt that, in time, I can whack-a-mole the issues down. It does reduce my confidence in changing my environment because of how brittle the stack is. That's what makes me curious about the rest of the ecosystem.
Zed mostly works though I have had to configure it to use project-specific linter configs using somewhat underdocumented settings files. I'm curious if neovim is easier to get working because it's a smaller beast so easier to debug, but I also just don't know if I'd enjoy a switch to few-key modal editing from the chorded emacs style I love.
lelele · 1h ago
>> I'm curious what emacs users are doing these days.
Still using it because of the massive amount of customizations accumulated in a time span close to yours. I'm often tempted to switch, but if I look back, what other editor would have served me for ~20 years, mostly unchanged? I remember writing lots of macros for Visual Studio 6 and then Microsoft revamped the object system of their IDE with .NET. My understanding is that Visual Studio plugins may not work from an IDE version to the next. Yes, customizing Emacs requires time, but so does relearning a new environment every few years.
I do use other editors, however, for things that would require too much time to configure in Emacs, or for which I prefer a GUI interface. For example, at the moment I'm working on a C++ project in Emacs, yet for debugging and a Git GUI I have VSCode open.
>> Is neovim better in this space?
Maybe, because of the bigger use base of NeoVim/Vim.
>> Should I be learning how to debug elisp better to understand how the commands interact with my environment?
Definitely.
>> I've been using emacs keybindings (in Dvorak at that)
Hi, mate! (^_^)
>> for so long I don't know if I'd enjoy the neovim editing experience.
What? No [Neo]Vim user has ever ported Emacs keybinding to Insert Mode? O_o
Karrot_Kream · 55m ago
> What? No [Neo]Vim user has ever ported Emacs keybinding to Insert Mode? O_o
I'm curious how fluid that is. My experience with Emacs keybindings has been, well, variable to say the least. Maybe the vim-alike folks can make better experiences. Readline's emacs bindings are a bit lacking but still fairly good for day-to-day usage.
Gptel has been working great for me. I'd be interested in checking this out but I only have so much time to set up and test new tools. What features would make it worthwhile to switch from gptel?
iLemming · 5m ago
You don't "switch" from gptel as this package solves a problem of a different dimension. Gptel is still great for tons of other things, even though it's not suitable for "project context-wise" LLM workflows.
qalmakka · 3h ago
my biggest issue with agents in neovim or emacs is that I also use emacs and neovim to open or edit sensitive data (like ssh keys, etc) that I don't want to upload to a random LLM.
A quick solution I devised is to use bubblewrap to get a fully separate instance of nvim. Something along the lines of
I believe many of these agents will not operate on files included in a gitignored file, which helps with sensitive assets like .env files. Definitely worth confirming. Either way, don’t open such a file and ask the agent questions about it. It’ll likely process it either way.
Keyframe · 2h ago
gemini CLI won't, but will if you ask it to.. so what are the guaranteed one of it's internal thinking steps doesn't do the same?
wyuenho · 3h ago
While I'm happy that simultaneously there are at least 5 known Emacs/Claude Code integration packages, with seemingly 2 or 3 battling it out on Reddit and elsewhere, I feel like the best implemented one is the quiet one that no one has ever talked about.
It doesn’t look like that had the /ide integration that Claude-code-ide has
wyuenho · 32m ago
It absolutely does. Give it a try.
eulers_secret · 3h ago
I wonder if this can work with OpenCode (Claude Code fork which allows for other model providers: https://github.com/sst/opencode)?
I really don't like being tied to a particular provider or model, switching models has been really helpful to get past blocks and save money (especially with Deepseek!).
And, of course, I need to use Github Copilot's Open AI-compatile API at work...
cristea · 5h ago
Pretty cool! I love that these battle proven editors (emacs and (n)vim) seem to follow along with new technology, even though one might think overwise given their age.
I hope this comes to vim as well!
benreesman · 4h ago
Neovim and to an extent emacs are where corporate IDE vendors go for ideas.
From ergonomics of the UX, performance, portability, design sense (!!) and theming?
It's like Sun and GNU in the 90s. Those UI/UX folks getting pissed their perfect HSL wheel and black balance got dicked with by some PM which is why the GitHub theme is great not legendary?
They go home and rice Arch or NixOS and just shit on the dayjob stuff.
These people are artists, and hacks follow.
edit: My black balance is calculated on a per-display basis with an HSL-space transform from a hero color by the same NixOS module tree that builds the background from it's own source code as SVG and renders it before downsampling it for the specific display it's on. Of like two people helping beta it, both said roughly "using another desktop is like using the screen at the ATM". DHH is doing something similar with Arch, he's not quite as far along but this is the future.
You must understand that a screenshot of your black balance cannot translate to another screen?
benreesman · 3h ago
I do understand that. I was just illustrating that it's possible to do very holistically integrated desktops programmatically and in a way where you can do some math once and leverage it again.
I'm personally a fan of `ono-sendai-blue`, but I have a friend in a defense adjacent space and I gather `ono-sendai-tactical` is enjoyed there. The blacks in these reference palettes are a reasonable starting point for many displays, you'll want to hint for your specific one to get optimal outcomes.
Thank you for clarifying. I opened that screenshot prepared to be amazed by blackness... My mistake ;)
benreesman · 2h ago
Haha, no worries friend. I find it's just totally counter-intuitive how much difference a little configuration makes relative to the cost of the monitor. Even a relatively inexpensive monitor (I've got like a 200 dollar gaming one that's like an Acer Predator clone and it just looked awful but tuned up it looks great, not as good as my real LG panel but still really good). I never really thought of monitors as something that need a bunch of tuning, but it really makes your dollar go further to get the black balance and subpixel hinting and stuff dialed in. For someone like me who can't afford to just go buy an Apple XDR on a whim, it's worth it.
helsinki · 5h ago
It’s more common that they lead technological advancements in IDEs, not follow. Neovim in particular.
cml123 · 4h ago
Lately I've been seeing a lot of derision from the Emacs community of the consideration for integrating these kinds of tools with Emacs, but I truly think that's much more hurtful than helpful. Although the current development and usage of AI in software development may not closely resemble the techniques used at the time, it seems to me that Emacs' history is inextricably linked to the MIT AI Lab. It feels weird then that people today would shun the inclusion of AI integration into a tool that was produced from such a working group.
uludag · 3h ago
The beauty of Emacs though is that it puts the user in full control. There is nothing in the world stopping anyone from modifying anything in Emacs (at least on the Elisp layer), hence packages like this.
VS Code on the other hand is designed to fracture [1]. MS can and has given proprietary API access to their blessed tools, forcing others to go through their much less capable extension API, hence the plethora of vscode forks. Even if you had the most motivated, excited group of people wanting to work on the latest and greatest LLM interactions with VS code, they would most likely be forced to fork. On the other hand, it just takes one motivated Elisp dev to implement whatever they want and make any external package they want integrate with it.
Also, I think the derision from the Emacs community may be a bit overblown. I'm constantly seeing AI/LLM related plugins appearing for Emacs and they tend to get decent traction (e.g. https://github.com/karthink/gptel).
This is due to Richard Stalllman. He thinks that integrating "non-free" alternatives when free alternatives don't yet exist slows down free software development. Not just free as in freedom alternatives, not just free as in GPL licensed, but free as in FSF controlled projects. He did the same thing with linking extensions to GCC, LLVM debugger integration into emacs (fuzzy on that one), possibly treesitter into emacs, bzr vs git for emacs code source control, and a CI build farm for emacs. In each one of those cases, he eventually relented and the core project, eventually integrated the non-free alternative years later.
In the meantime this delaying didn't stop the non-free alternatives, but it did slow down adoption of the core project. This is attrocious project management that is driving people to non-free software. In the most egregious cases (bzr and CI build farm), it was done only because of his ego and wanting the FSF to matter.
benreesman · 4h ago
A lot of us are grateful in some abstract way for all the foundational work RMS did both technically and organizationally to preserve what remaining software freedoms we still have, but got off the bus a long time ago. He got really weird and it was on some "no fly zone" shit.
There's an `emacs` community that recognizes the history without being involved in any contemporary sense.
bowsamic · 3h ago
Why did you?
skydhash · 4h ago
Where would they integrate it. Emacs is a small core of C code. Almost everything is Elisp and in the same standing as third party packages. I’m not seeing what being in emacs core brings to an AI package?
spauldo · 2h ago
It'd be no different than eglot, project.el, etc. Third party packages experiment with stuff, then a stable implementation appears in core.
paddy_m · 1h ago
That would be a reasonable stance if the difference were in incubating a new project vs excluding functionality from blessing because it interfaces with non free software. The functionality I'm talking about is excluded because of the latter.
paddy_m · 3h ago
Well the linking into GCC was a C code issue. For emacs, there is a large collection of elisp that is shipped with the official package. Preventing worthy enhancements of that core package solely in the name of a distorted view of freedom hinders emacs and the adoption of emacs.
Guthur · 3h ago
You clearly misunderstood the problem.
The entities he is so adamant against are not benign or passive, they actively try to capture your freedom for rent seeking behaviour.
Microsoft, Apple, Amazon etc, have not got to where they are without this behaviour and they are so powerful that they have in many cases captured even public money from large governments for decades and are exceptionally sticky once allowed in.
LLM provide an exceptional opportunity for us to free ourselves from these captor interests, but we need to looking to develop them.
RMS has been proven correct on so many things from standard Microsoft behaviour, and planned obsolete to the licensing rug pulls of so called open source projects.
The question is not about stopping non free, that's a ridiculous objective, but if you don't have any principles you are going to have nothing solid to stand on in response to their nefarious and extractive behaviour.
spauldo · 1h ago
The objective is very much to stop non-free software. It always has been. It's not secret - it's explicitly why the FSF exists.
And that's a good thing, for the most part. Someone needs to hold the hard-line stance. It'll never happen, but it pulls things in that direction. We're all free to do what we like and use whatever software we choose, and part of the reason we have that choice is because the hardliners refuse to budge.
It does mean they make unrealistic demands and occasionally hold back useful functionality, but it's better than not having them around.
paddy_m · 3h ago
I haven't misunderstood the problems that RMS talks about, I agree with his prescient analysis. I firmly disagree that RMS the person is the best person to lead a software producing organization that aims to deliver a free future.
A simple reductive example. Imagine a great software leader that leads an org that writes great code and generally achieves the org's goals, but once a week, they say something offensive that discourages 1/10th of new users. A better leader would be someone who does all of the same things, except for the offensive comments.
I am saying that RMS makes offensive distracting comments, and regularly makes project manager choices that slow the adoption of free software. If you criticize him, people come back to "but he's right philosophically" which he is, and that misses the point. He has wrapped the FSF into an ego play for himself where he is in control or at least an important roadblock to software progress. If RMS cared as much about software freedom (as opposed to his ego) as he says, he would work to allow better leaders to develop and have power in the FSF org.
qiine · 4h ago
this is just sad
spauldo · 1h ago
The Emacs community is incredibly diverse. You'll find derision for just about everything if you look for it.
I'm guessing there's a lot of grumbling on the mailing list about non-free AI services. That's fine, you can ignore that. 3rd party modules will provide, and there's nothing core can do about it.
bowsamic · 3h ago
I didn’t know MIT AI lab was involved in the modern AI boom, that’s interesting
The Levy book Hackers has a ehole third of the book about it.
bowsamic · 3h ago
Haven’t got time to watch that but that book seems quite old. Are you sure it talks about LLMs?
benreesman · 3h ago
They weren't called LLMs, but they had neural networks and hardware optimizations for AI and huge teams of people tirelessly labeling stuff to make it look smarter than it is :)
There is some surprise factor at the GPT-3 -> gpt-4-1106 jump for people who know the history of AI generally and who were around a lab during the ImageNet days, but not as much as everyone is acting like.
The last two years are a notable but by no means unprecedented rush towards the next wall. There's even a term for it: AI Summer is short and AI winter is long and its about as predictable as the seasons in Game of Thrones / ASOIAF.
brotherjerky · 5h ago
Anyone have good results with something similar for Neovim?
I tried these, and they seem to mainly be opening Claude Code in a pane in Vim, along with commands to open the pane. It’s missing the features added to the Emacs version like open file awareness, access to text selection, and integrated diff for changes.
It would be really interesting to see a version which exposes Vim as an MCP. I would love to see Claude Code work on the active file, reading from open buffers, typing Vim motions, and taking advantage of Vim features like find/replace and macros. It would be closer to the real pair programming experience, whereas the read and write experience is slow and disjointed from editing.
levl289 · 1h ago
Avante - https://github.com/yetone/avante.nvim. Admittedly I haven't had time to keep up with it's changes and as a result have gone back to VS Code + Copilot, but it's very well integrated last I did use it.
softwaredoug · 5h ago
I just like having a neovim terminal open with claude code open
adregan · 4h ago
Out of curiosity, do you have a good flow for having a file buffer automatically update in response to claude's changes? I'm perpetually needing to remember to `:e!<CR>` to read the updated file.
gertlex · 3h ago
To offer an anecdote: I've been used to doing `:e!` with vim. I recently finally had a reason to move to nvim... and it's been auto-updating my buffers when I do stuff in `aider`. Very much a, "oh, ok that's nice!" and I haven't dug further.
adregan · 3h ago
I’m actually a neovim user already! This makes me worry that my config has something to prevent this behavior (but I hope not, I hate messing with my config)
yoyohello13 · 3h ago
There is a vim setting to automatically load changes from disk. I can’t remember name of the option right now, but it should be an easy lookup.
helsinki · 4h ago
I think that’s a decent approach, but doesn’t the performance of a Neovim terminal bother you? It simply does not feel as good as a native terminal pane. It’s not as bad as VSCode’s terminal pane, but it still leaves something to be desired.
dosethree · 4h ago
Just use tmux and split windows
softwaredoug · 4h ago
I have never noticed any problem...
The main annoyance is dealing with newlines
OrderlyTiamat · 4h ago
I've noticed no problems, and I'm usually pretty controlling about performance- what am I missing?
apwell23 · 4h ago
they how do you say. look at these lines of code to claude?
softwaredoug · 3h ago
I just say "look in file.py at lines 20-30" or "See in function FooBar where we foo the bar".
oblio · 4h ago
Can you prompt it? A bit manual, but hey. I wonder if you can script visual selection in Neovim to output full file path plus line number range, for direct copy paste.
apwell23 · 4h ago
you can start neomvim with a network ( neovim --listen) socket and tell calude
" look at neovim at this network socket and get current selection"
This actually works :)
qwertycrackers · 5h ago
I have tried the CodeCompanion plugin and had good results. I don't use it super extensively but it's nice when I decide to try it.
neutronicus · 5h ago
I've tried out a similar project (claude-code.el).
I use Spacemacs in evil-mode and I found it very frustrating to try and type into the Claude Code text box (often my cursor would be somewhere weird, the terminal emulator just really did not seem to "understand" that I was not in Insert Mode). I wound up deciding that I'd rather just use Claude Code in the terminal. The Claude Code text box is ALSO annoying there, so I often just write out instructions in some file (in emacs) and tell then tell CC to read it.
Does this project have any facilities for authoring prompts in a temporary buffer or something?
celeritascelery · 2h ago
I have also been using Claude-code.el and agree that the terminal emulators can struggle to integrate well with my regular workflow. What I have been doing is typing my prompt in the scratch buffer or minibuffer and then sending it to Claude with Claude-code-send-command (bound to s in the transient menu). I don’t even need to switch to the Claude code buffer to send it.
I tried it and it has similar problems. Claude Code is not a good "citizen" embedded elsewhere as it wants to control the terminal completely.
I use default emacs keybindings, which are a bit friendlier with this since they're similar to the bash/readline keybindings it uses... but it's still jarring.
mikece · 5h ago
I apologize for my ignorance in asking this question but is Emacs considered an IDE? I thought that was a term reserved for large, graphical editors like IntelliJ, Eclipse, or Visual Studio.
reedlaw · 5h ago
Emacs is practically an operating system (the vim joke being that it lacks a good editor). With git integration through magit, LSP server for language integration, and Projectile for project management, it very much acts like an IDE.
That joke was dumb from the beginning and has fallen into complete irrelevance years ago - Emacs actually can and does vim better than Vim, GVim, and Neovim, or any vim plugins for other IDEs. I'm saying this with a confidence of a die-hard, experienced vimmer.
spauldo · 1h ago
It has a great editor - evil-mode!
aquariusDue · 2h ago
Well, I'd rather call it a PDE (Personal Development Environment)[0]. A term coined in the Neovim community that is pretty apt for Emacs too. Emacs can be pretty minimalist or maximalist depending on your preference, and it can be configured to have IDE-like features, though presented in a different way sometimes.
Honestly, the big barrier to entry for Emacs is finding the time to configure it to your liking. The best way is to use it along with your IDE and existing tooling, slowly integrating Emacs into your workflow piece by piece and tinkering with it when you have a bit of time but always with a goal in mind i.e. window (pane in modern vernacular) management, showing symbol documentation in a hoverbox, adding spell checking to comments or inline git blame.
And sure, there are lots of bits that you need to get used to at first, how copy and paste works out of the box without CUA-mode for one, but they're that big of a deal after a short while as some people make them out to be.
I'll say this though, Emacs is like tiling window management, you either love it and extol its virtues everywhere or you look at its proponents like aliens from another galaxy.
Emacs arguably is the only one of the true meaning of "Integrated Development Environment" perhaps more thoroughly than any other editor. When we break down what IDE really means - integrated, development, and environment - Emacs excels in each dimension: it deeply integrates every tool and workflow through its unified Elisp ecosystem rather than merely bundling separate applications;
I can start extending it on every possible dimension without even having to write any code into a file - I can open a scratch buffer, write some Elisp and evaluate it in-place.
What else can provide a complete environment where one can code, debug, manage version control, read documentation, run terminals, manage projects (I search through Jira in Emacs), and even handle email or browse the web without ever leaving the editor? I'm reading this thread and typing this comment in Emacs, btw.
While modern "IDE"s like IntelliJ or VS Code offer polished, pre-configured experiences for specific languages, Emacs takes integration to a philosophical level where everything shares the same keybindings, configuration language, and conceptual model, making it less of an application that integrates other tools and more of a platform where all tools become native citizens of a unified computing environment.
mosburger · 5h ago
Queue the old adage ... "Emacs is a great operating system, what it needs is a good editor."
I'm not sure there is a rigid enough definition of IDE to say whether Emacs qualifies or not. I think it does by virtue of its extensibility, but I could definitely see a legit argument that it's merely an editor because it doesn't have a lot of the tooling of something more modern. I think what you consider to be an IDE (IntelliJ, VS, etc) is something that didn't exist until modern GUIs. Prior to that, terminal based things like Emacs (or LSE on VMS) were the closest analog.
iLemming · 59m ago
> Emacs doesn't have a lot of the tooling of something more modern
Define "more modern"? Language servers, Git integration, refactoring tools, debugging? Emacs has all of those. Sure, VSCode and IntelliJ give you this stuff out of the box, but they can't match Emacs features like editing the same file in multiple ways at once (indirect buffers), instantly checking what any key does, or changing any behavior on the spot. What looks "outdated" about Emacs is actually its openness - while other IDEs hide everything behind pretty buttons, Emacs lets you see and change how everything works. You actually own your tools instead of just using them. In that way, Emacs isn't just modern - it's timeless.
mikece · 4h ago
I realize my definition is purely subjective in that I deal with Visual Studio and VS Code almost exclusively and that the VS Code team is instant that they make an editor and not IDE. For me an IDE has graphical tools for building UIs and other workflow items as well as language-specific compilers and tools built in. Like I said, subjective based on my experience (and my experience doesn't include Emacs).
skydhash · 4h ago
Emacs is a text environment (which can also display images). It can also launch process and have IPC built in. So everything that works with text can be brought into emacs. And often, the only advantages of GUI is animation and aesthetics (to appeal to beginner). Text interfaces can be more productive.
iLemming · 54m ago
> which can also display images
Not only that - it supports PDFs (I annotate the books and papers in it), SVGs, variable fonts, emojis, even spreadsheets - yup, you can do Excel-like calculations; there are built-in browsers, etc. Besides, you can control music and video playback - useful when watching videos and taking notes, you can extract video transcripts, etc. etc. There even exists (albeit quite primitive) a video editor for Emacs.
gjvc · 4h ago
"Cue"
lordgrenville · 2h ago
Well it is already a "graphical" editor. And I would say out of the box it isn't an IDE, but with a couple of common packages added (say a file tree, terminal, code completion, LSP) it looks pretty much identical to any commercial IDE.
umanwizard · 1h ago
Emacs is large and graphical. I'm not sure why the myth persists that Emacs is the same category of thing as vim; it's really not.
oropolo · 5h ago
It's not an IDE: it's a religion.
cmrdporcupine · 1h ago
Emacs is an IDE construction kit.
(Among other things)
By which I mean you can make your IDE with it, but it's not an out of the box thing, and it'll be bespoke and unique for you.
With LSP and treemacs and company mode, it's a pretty decent IDE. It just requires you to get all the pieces set up the way you want.
globular-toast · 4h ago
It is if you want it to be. I believe Emacs had one of the first GUIs for gdb (GNU Debugger) so it's always been possible. But it's as much or as little as you want it to be really.
apwell23 · 4h ago
I think its just using claude code terminology of "IDE integration" . not implying that emacs is an IDE.
Barrin92 · 4h ago
an IDE is just what the name says, an integrated development environment. Emacs has robust support for managing projects, compilation, you can debug programs from Emacs including graphically, Magit is exceptional for version control, it's got built-in LSP support now with Eglot, and so on.
So if you want it to be, yes and with a lot of support out of the box these days.
rurban · 5h ago
Looks better than my current Claude Sonnet integration via copilot.
hit8run · 3h ago
I want something like this for helix!
r_murphey · 3h ago
This is the way.
jact · 4h ago
This is profaning the temple of St iGNUcius
apwell23 · 4h ago
claude team unfortunately didn't make it easy for anyone to build their own. Take a look at this if you are hoping to build your own ide integration
Its not that I dislike Cursor, its that I dont have time to put up with its compromises for non-extreme-power-user accessibility. I need an extreme power, cost indifferent, tuned for the margins stack.
That's nothing with a VSCode base that I know about, and I've tried Cline and Roo and Continue and written a bunch MCP servers and I measure it all, not even close.
I bet the neovim people have something just as good.
Slow your roll. Nothing you write will matter in six months.
But as a guy who is a known enemy of the Valley establishment to begin with rebuilding from all that? When I say I'm dead serious, I'm being earnest.
If you don't have a family/community safety net and/or a plugged-in nepo golden age network?
Stack cash on hand like your life depends on it, because it fucking does.
signed:
someone who was broke fifteen years ago and has been stacking cash on hand ever since.
And a shitty job is no guarantee of a shitty room now, you see homeless people still in the Best Buy shirt they were wearing when they got laid off, and Best Buy is nowhere near the worst job.
I thought working hard and being really good at computer stuff was basically some kind of bare minimum job guaranteed, that being free with my money might mean not retiring young. Didn't realize tech employment was war.
Wrong. Won't make that mistake again.
It's good for what it is but I don't love that I have to change to a whole-ass new editor to get access to the agentic additions, when alternatives that require an API key or a more flexible CLI tool can do a better job.
I’d love to hear more about your workflow if you have time to share!
For Claude Code I'm rapidly switching anything I want "vibe coded" into Hadkell for code, Dhall for config, and check-heavy Nix for deploy. Between that and some property tests that I seed and then have Opus elaborate on, you can put Claude Code so restrictive that it just hits the compiler in a loop until useful code comes out. Its trapped: I hoist CLAUDE.md in from the Nix store so it physically can't edit out the brutal prompts around mocks and lies, and -Wall -Werror in GHC gives it nowhere to hide, all it can do is burn tokens and desperately Web Search tool until it gets it perfect ish or I cut off its money because this requires a real LLM minimum and likely a real programmer. If there's a property test welded into the type system it can't even fail to use a parameter: that's an error Claude.
I have a bunch of elisp in // hypermodern // emacs for things like OpenRouter integration and tool use, but frankly, stock gptel is so strong I always wonder if I'm getting my money's worth trying to tune it into the asymptote.
Happy to answer any more questions.
Also as another Emacs user I'm wondering what lesser known packages or elisp snippets do you use? gptel, magit, tramp and org-mode are the usually touted killer features, but what else do you use in the Emacs ecosystem?
But the short answer is no. Not yet.
I'm pretty happy just letting the standalone agent write to the file and then reloading it in my editor.
Though I wish the agent CLI tools would use something like inotify to notice when I've made a manual change to a file that they've recently written and then do a better job of incorporating that change as feedback to inform future edits.
LSP and TS just make it easier to standardize across editors and languages.
They always have had. It just depends on what people perceive to be advantageous. For me, VSCode's and IntelliJ's closed model for extensibility is a huge downside.
By "closed" I mean - restrictive plugin APIs, sandboxed execution environment, corporate gatekeeping, opaque core, etc.
I don't even try to "shop for more features" anymore, learning Emacs allows me to remain "goal-oriented", and more often than not, it enables me to get the shit done in a far more satisfactory manner. Meanwhile, almost every time I switch to IDEs, I hit some limitations. It's not even "skill-issue" or unfamiliarity, I do remember my days of using IntelliJ, of which I was a devoted user for almost a decade. The way how I solve problems with Emacs, is just not even close.
What I really want is to be able to run something like this locally for, say, less than $2000 in computer hardware. Is this feasible now or any time soon. Anyone out there using agents with local models for coding?
A lot of people are excited about the Qwen3-Coder family of models: https://huggingface.co/collections/Qwen/qwen3-coder-687fc861...
For running locally, there are tools like Ollama and LM Studio. Your hardware needs will fluctuate depending on what size/quantization of model you try to run, but 2k in hardware cost is reasonable for running a lot of models. Some people have good experiences using the M-series Macs, which is probably a good bang-for-buck if you're exclusively interested in inference.
I'd recommend checking out the LocalLlamas subreddit for more: https://www.reddit.com/r/LocalLLaMA/
Getting results on par with big labs isn't feasible, but if you prefer to run everything locally, it is a fun and doable project.
Is this just a fun project for now, or could I actually benefit from it in terms of software production like I do with tools like claude code?
I am interested in carefully tailoring it to specific projects, integrating curated personal notes, external documentation, scientific papers, etc via RAG (this part I've already written), and carefully chosing the tools available to the agent. If I hand tailor the AI agents to each project, can I expect to get something perhaps similar to the performance boost of Claude code for $2000 (USD)?
If not $2000, then how much would I need? I'm pretty sure for something like $75000 I could do this with a large deep seek model locally, and certainly get something very close to claude code, right?
I'll keep an eye on this new offering though.
There's also https://github.com/editor-code-assistant/eca-emacs which comes from the author of clojure-lsp, a very popular package within the Clojure community. I'd also been wanting to try it.
For both of the more advanced offerings, I tend to be a little cautious when adopting tools I'm trusting my productivity to. Most ambitious projects need to iron out misc stuff during their 'big bang' phase.
I'm wondering if this project will work. It does feel a shame that it doesn't work with the existing mcp.el package[0], but I never got around to setting that up anyways. I wonder if it's a limitation of the package? or not wanting another dependency?
(in addition I've only really played around with claude code a little because I haven't gotten it to a place where I can make it write code I'd consider acceptable for my day job.)
[0] https://github.com/lizqwerscott/mcp.el
I wrote a short article about how I configured it there: https://her.esy.fun/posts/0029-ai-assistants-in-doom-emacs-3...
One thing I really appreciate with gptel is that it is very easy to switch from Claude to something else like a local llm (via ollama or gpt4all for example). And the interface will be similar.
as a long time emacs user i've only recently started really writing my own elisp tools, but claude is pretty good at writing elisp so i've been doing more there (sometimes it loses track of parentheses and you need to fix that, but overall pretty good)
I'll def be trying this out alongside steve yegge's efrit which kicks the emacs up to 11 by letting the agent just write and evaluate arbitrary elisp expressions https://github.com/steveyegge/efrit
It was my observation around 12-18 momths ago that LLMs are weirdly good at elisp (which kicked off all the // hypermodern stuff I'm doing.
I think he's onto something with efrit, I havent gotten it dialed yet but its reaaallyy promising.
I'm on a new MacOS install for $WORK trying to get lsp and ts work with a Typescript/Go repo and after some $PATH wonkiness (my default shell is not the same shell as the one that emacs launches in) got typescript-ls working but gopls is still having issues being downloaded. I haven't spent the hour or two it would probably take to figure out why the in-built downloader can't put gopls in the right place.
I'm curious what emacs users are doing these days. I'm using Zed right now and really enjoying it but it's really hard to give up 20 years of emacs and I do love how emacs can scale from small one-off config file editing to huge projects and I love how configurable it is.
Is neovim better in this space? Should I be learning how to debug elisp better to understand how the commands interact with my environment? I've been using emacs keybindings (in Dvorak at that) for so long I don't know if I'd enjoy the neovim editing experience.
Hell yeah, you should. I just don't understand how the heck people would claim to be using Emacs for decades and still not knowing how to use the built-in profiler, edebug, apropos, macro expansion, advising system, indirect buffers, etc.
They would complain how "fickle" Emacs is, without even realizing that they are literally operating a living, breathing, dynamic and malleable system. If there's a car that allows you to assemble some parts onto it and turn it into a submarine while you're still driving it, of course it would require you at least the knowledge of basic troubleshooting and the acceptance that shit may break at any point.
You have no idea how liberating the feeling is when you can pinpoint a problem, launch a gptel buffer and then ask Emacs to write some elisp for a hook or an advising function, you can even try the snippet in-place, without ever moving it anywhere.
These days I don't even try to strive for a "clean" config - it's modular enough and I can relatively easily navigate through it. Whenever I face a problem, I just add some elisp. When something breaks (usually due to upstream changes), I don't even get annoyed. Identifying a problem and finding a workaround doesn't take too long - typically minutes - and it doesn't even happen very often.
[0] https://github.com/jiahaoxiang2000/claude-code-zed
Perhaps if you solve shell issues there once, they will stick.
I'm quite busy outside of work right now so I'll probably take a crack at this in a few weeks, but it's also dismaying how annoying it is to manage all the ts and lsp dependencies to make my projects work, let alone pointing the lsp to use the right package.json or go path or other things. I have no doubt that, in time, I can whack-a-mole the issues down. It does reduce my confidence in changing my environment because of how brittle the stack is. That's what makes me curious about the rest of the ecosystem.
Zed mostly works though I have had to configure it to use project-specific linter configs using somewhat underdocumented settings files. I'm curious if neovim is easier to get working because it's a smaller beast so easier to debug, but I also just don't know if I'd enjoy a switch to few-key modal editing from the chorded emacs style I love.
Still using it because of the massive amount of customizations accumulated in a time span close to yours. I'm often tempted to switch, but if I look back, what other editor would have served me for ~20 years, mostly unchanged? I remember writing lots of macros for Visual Studio 6 and then Microsoft revamped the object system of their IDE with .NET. My understanding is that Visual Studio plugins may not work from an IDE version to the next. Yes, customizing Emacs requires time, but so does relearning a new environment every few years.
I do use other editors, however, for things that would require too much time to configure in Emacs, or for which I prefer a GUI interface. For example, at the moment I'm working on a C++ project in Emacs, yet for debugging and a Git GUI I have VSCode open.
>> Is neovim better in this space?
Maybe, because of the bigger use base of NeoVim/Vim.
>> Should I be learning how to debug elisp better to understand how the commands interact with my environment?
Definitely.
>> I've been using emacs keybindings (in Dvorak at that)
Hi, mate! (^_^)
>> for so long I don't know if I'd enjoy the neovim editing experience.
What? No [Neo]Vim user has ever ported Emacs keybinding to Insert Mode? O_o
I'm curious how fluid that is. My experience with Emacs keybindings has been, well, variable to say the least. Maybe the vim-alike folks can make better experiences. Readline's emacs bindings are a bit lacking but still fairly good for day-to-day usage.
https://github.com/purcell/exec-path-from-shell
It can extract PATH and other environment variables from your login shell configuration.
A quick solution I devised is to use bubblewrap to get a fully separate instance of nvim. Something along the lines of
works great (note: fish alias)https://github.com/yuya373/claude-code-emacs <- it literally implements every feature that every other ones have.
I really don't like being tied to a particular provider or model, switching models has been really helpful to get past blocks and save money (especially with Deepseek!).
And, of course, I need to use Github Copilot's Open AI-compatile API at work...
I hope this comes to vim as well!
From ergonomics of the UX, performance, portability, design sense (!!) and theming?
It's like Sun and GNU in the 90s. Those UI/UX folks getting pissed their perfect HSL wheel and black balance got dicked with by some PM which is why the GitHub theme is great not legendary?
They go home and rice Arch or NixOS and just shit on the dayjob stuff.
These people are artists, and hacks follow.
edit: My black balance is calculated on a per-display basis with an HSL-space transform from a hero color by the same NixOS module tree that builds the background from it's own source code as SVG and renders it before downsampling it for the specific display it's on. Of like two people helping beta it, both said roughly "using another desktop is like using the screen at the ATM". DHH is doing something similar with Arch, he's not quite as far along but this is the future.
https://cdn.some.pics/b7r6/68936c070fa56.png
https://cdn.some.pics/b7r6/68936d79c607c.png
I'm personally a fan of `ono-sendai-blue`, but I have a friend in a defense adjacent space and I gather `ono-sendai-tactical` is enjoyed there. The blacks in these reference palettes are a reasonable starting point for many displays, you'll want to hint for your specific one to get optimal outcomes.
https://gist.github.com/b7r6/581295d8bb905ef598a05fdf2810a07...
https://gist.github.com/b7r6/fbbfb1cf2a3d14927bbe621a9050522...
VS Code on the other hand is designed to fracture [1]. MS can and has given proprietary API access to their blessed tools, forcing others to go through their much less capable extension API, hence the plethora of vscode forks. Even if you had the most motivated, excited group of people wanting to work on the latest and greatest LLM interactions with VS code, they would most likely be forced to fork. On the other hand, it just takes one motivated Elisp dev to implement whatever they want and make any external package they want integrate with it.
Also, I think the derision from the Emacs community may be a bit overblown. I'm constantly seeing AI/LLM related plugins appearing for Emacs and they tend to get decent traction (e.g. https://github.com/karthink/gptel).
[1] https://ghuntley.com/fracture/
In the meantime this delaying didn't stop the non-free alternatives, but it did slow down adoption of the core project. This is attrocious project management that is driving people to non-free software. In the most egregious cases (bzr and CI build farm), it was done only because of his ego and wanting the FSF to matter.
There's an `emacs` community that recognizes the history without being involved in any contemporary sense.
The entities he is so adamant against are not benign or passive, they actively try to capture your freedom for rent seeking behaviour.
Microsoft, Apple, Amazon etc, have not got to where they are without this behaviour and they are so powerful that they have in many cases captured even public money from large governments for decades and are exceptionally sticky once allowed in.
LLM provide an exceptional opportunity for us to free ourselves from these captor interests, but we need to looking to develop them.
RMS has been proven correct on so many things from standard Microsoft behaviour, and planned obsolete to the licensing rug pulls of so called open source projects.
The question is not about stopping non free, that's a ridiculous objective, but if you don't have any principles you are going to have nothing solid to stand on in response to their nefarious and extractive behaviour.
And that's a good thing, for the most part. Someone needs to hold the hard-line stance. It'll never happen, but it pulls things in that direction. We're all free to do what we like and use whatever software we choose, and part of the reason we have that choice is because the hardliners refuse to budge.
It does mean they make unrealistic demands and occasionally hold back useful functionality, but it's better than not having them around.
A simple reductive example. Imagine a great software leader that leads an org that writes great code and generally achieves the org's goals, but once a week, they say something offensive that discourages 1/10th of new users. A better leader would be someone who does all of the same things, except for the offensive comments.
I am saying that RMS makes offensive distracting comments, and regularly makes project manager choices that slow the adoption of free software. If you criticize him, people come back to "but he's right philosophically" which he is, and that misses the point. He has wrapped the FSF into an ego play for himself where he is in control or at least an important roadblock to software progress. If RMS cared as much about software freedom (as opposed to his ego) as he says, he would work to allow better leaders to develop and have power in the FSF org.
I'm guessing there's a lot of grumbling on the mailing list about non-free AI services. That's fine, you can ignore that. 3rd party modules will provide, and there's nothing core can do about it.
The Levy book Hackers has a ehole third of the book about it.
There is some surprise factor at the GPT-3 -> gpt-4-1106 jump for people who know the history of AI generally and who were around a lab during the ImageNet days, but not as much as everyone is acting like.
The last two years are a notable but by no means unprecedented rush towards the next wall. There's even a term for it: AI Summer is short and AI winter is long and its about as predictable as the seasons in Game of Thrones / ASOIAF.
It would be really interesting to see a version which exposes Vim as an MCP. I would love to see Claude Code work on the active file, reading from open buffers, typing Vim motions, and taking advantage of Vim features like find/replace and macros. It would be closer to the real pair programming experience, whereas the read and write experience is slow and disjointed from editing.
The main annoyance is dealing with newlines
" look at neovim at this network socket and get current selection"
This actually works :)
I use Spacemacs in evil-mode and I found it very frustrating to try and type into the Claude Code text box (often my cursor would be somewhere weird, the terminal emulator just really did not seem to "understand" that I was not in Insert Mode). I wound up deciding that I'd rather just use Claude Code in the terminal. The Claude Code text box is ALSO annoying there, so I often just write out instructions in some file (in emacs) and tell then tell CC to read it.
Does this project have any facilities for authoring prompts in a temporary buffer or something?
I use default emacs keybindings, which are a bit friendlier with this since they're similar to the bash/readline keybindings it uses... but it's still jarring.
Emacs standing alone on a Linux Kernel
https://web.archive.org/web/20200110131523/http://www.inform...
That joke was dumb from the beginning and has fallen into complete irrelevance years ago - Emacs actually can and does vim better than Vim, GVim, and Neovim, or any vim plugins for other IDEs. I'm saying this with a confidence of a die-hard, experienced vimmer.
Honestly, the big barrier to entry for Emacs is finding the time to configure it to your liking. The best way is to use it along with your IDE and existing tooling, slowly integrating Emacs into your workflow piece by piece and tinkering with it when you have a bit of time but always with a goal in mind i.e. window (pane in modern vernacular) management, showing symbol documentation in a hoverbox, adding spell checking to comments or inline git blame.
And sure, there are lots of bits that you need to get used to at first, how copy and paste works out of the box without CUA-mode for one, but they're that big of a deal after a short while as some people make them out to be.
I'll say this though, Emacs is like tiling window management, you either love it and extol its virtues everywhere or you look at its proponents like aliens from another galaxy.
[0]: https://www.youtube.com/watch?v=QMVIJhC9Veg
I can start extending it on every possible dimension without even having to write any code into a file - I can open a scratch buffer, write some Elisp and evaluate it in-place.
What else can provide a complete environment where one can code, debug, manage version control, read documentation, run terminals, manage projects (I search through Jira in Emacs), and even handle email or browse the web without ever leaving the editor? I'm reading this thread and typing this comment in Emacs, btw.
While modern "IDE"s like IntelliJ or VS Code offer polished, pre-configured experiences for specific languages, Emacs takes integration to a philosophical level where everything shares the same keybindings, configuration language, and conceptual model, making it less of an application that integrates other tools and more of a platform where all tools become native citizens of a unified computing environment.
I'm not sure there is a rigid enough definition of IDE to say whether Emacs qualifies or not. I think it does by virtue of its extensibility, but I could definitely see a legit argument that it's merely an editor because it doesn't have a lot of the tooling of something more modern. I think what you consider to be an IDE (IntelliJ, VS, etc) is something that didn't exist until modern GUIs. Prior to that, terminal based things like Emacs (or LSE on VMS) were the closest analog.
Define "more modern"? Language servers, Git integration, refactoring tools, debugging? Emacs has all of those. Sure, VSCode and IntelliJ give you this stuff out of the box, but they can't match Emacs features like editing the same file in multiple ways at once (indirect buffers), instantly checking what any key does, or changing any behavior on the spot. What looks "outdated" about Emacs is actually its openness - while other IDEs hide everything behind pretty buttons, Emacs lets you see and change how everything works. You actually own your tools instead of just using them. In that way, Emacs isn't just modern - it's timeless.
Not only that - it supports PDFs (I annotate the books and papers in it), SVGs, variable fonts, emojis, even spreadsheets - yup, you can do Excel-like calculations; there are built-in browsers, etc. Besides, you can control music and video playback - useful when watching videos and taking notes, you can extract video transcripts, etc. etc. There even exists (albeit quite primitive) a video editor for Emacs.
(Among other things)
By which I mean you can make your IDE with it, but it's not an out of the box thing, and it'll be bespoke and unique for you.
With LSP and treemacs and company mode, it's a pretty decent IDE. It just requires you to get all the pieces set up the way you want.
So if you want it to be, yes and with a lot of support out of the box these days.
https://github.com/coder/claudecode.nvim/blob/main/PROTOCOL....
https://github.com/coder/claudecode.nvim/blob/main/ARCHITECT...