Readit News logoReadit News
blahgeek · 18 days ago
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.
throwaway4496 · 18 days ago
You think VIM is a niche? neovim + vim is used by over 38% of developers according StackExchange survey. That is more than 1 out of 3 developer, closer to 2 out of 5.

I am not sure what is going on with here recently, maybe I have overgrown the place, or maybe everyday a little by little this place is getting filled with people who shouldn't be talking about CS.

blahgeek · 18 days ago
As someone who have only used Emacs and Vim in the past 10 years, I wish you are right. But according to my observation, 90% of those 38% of developers only use Vim in when they are sshing to the server to update few config files or make simple edits to the scripts. When they do proper programming (like hundreds lines of coding in a project), they switch to other IDEs like VSCode. So yes I personally still consider Vim and Emacs “niche” editors.
xmhsez · 18 days ago
I've been using vim for 10+ years. The only commands I know are for saving, quitting, enabling line numbers and syntax. I'm sure 90% of the people in your statistics are like me.
siva7 · 18 days ago
I believe rather my own eyes over a long career than these surveys. It's certainly well below 10% if you don't count being just used for the lack of any alternative (aka sshing)
never_inline · 17 days ago
> people who shouldn't be talking about CS.

Dijkstra said computer science is about computers as much as astronomy is about telescopes.

I am not sure I agree with that, but it's definitely not about text editor choice.

I have a .vimrc file with LSPs and whatnot. But it was from 3 years back. These days I use VSCode and IntelliJ (depending on language) because they do so many things out of the box. I would say the choice of editor is the least consequential thing in one's understanding of "CS" and programming methodologies. On the other hand, using debuggers, profilers, monitoring tooling can have a real impact on how you solve some problems.

sunng · 18 days ago
According to StackExchange, Emacs is not even a code editor
qwertywert_ · 17 days ago
Most "regular" developers don't actively engage with StackExchange.. I would not believe that statistic at all. And I'm a 7+ years vim user.
elAhmo · 18 days ago
Of course it is niche, that survey is quite skewed, and "using" doesn't mean doing development work there, rather than occasionally having to use it when using remote terminals.

I know only one person from my dozens of developer friends and colleagues who is using neovim.

LoFiSamurai · 18 days ago
> with people who shouldn't be talking about CS

Your argument is that calling Vim niche should exclude someone from being able to talk about CS. Please rethink your stance and your tone and consider if you’re helping the discussion.

wraptile · 17 days ago
Not only that but many new editors straigh up ship vim mode now like Zed, Obsidian etc. The main vscode neovim plugin¹ is very big too with over 500k unique installs. Clearly VIM is still widely popular and not going away anytime soon.

1 - https://github.com/vscode-neovim/vscode-neovim

OtherwiseBenign · 18 days ago
Well, in a survey, I‘d say that I’m using it - but mainly for quick configuration file edits on servers where nothing else is installed.
dismalaf · 18 days 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.

mikece · 18 days 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 · 18 days 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.

godelski · 18 days ago
I'm sure some other users can give you better answers, but I'm a bit curious what you mean by "standard".

FWIW, Vim (and presumably emacs) can run terminals as well as do things like ssh and ftp. Though I'm pretty sure the easiest thing to do would just be to use the Ctrl-R pattern in vim and have it send curl requests in a different buffer. As far as I'm aware, all the major LLM platforms have APIs that can be accessed through curl (or any other way you want to to GET/PUT requests). Here's something I found with a quick Google search[0].

So I'm not sure there needs to be "a standard" so much as "can it do http requests?" which is yes. I mean with this I think you can also see it wouldn't be too hard to set up and connect to a LLM hosted on the LAN. Could do it all through ssh

[0] https://arjunaravind.in/blog/using-vim-as-a-http-client/

newtwilly · 18 days ago
No the comment meant that aider and Claude code are CLI programs, so if you can run a terminal in your niche editor, then you are good to go
didibus · 18 days ago
There's this one: https://eca.dev/
__MatrixMan__ · 18 days ago
There's a fair bit of discussion about this here: https://github.com/helix-editor/helix/discussions/4037

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.

Deleted Comment

peterjliu · 18 days ago
emacs and vim are not niche, lol
mickael-kerjean · 18 days ago
In 15 years of using nothing but emacs, I have never met another emacs user in any of the companies I worked for. plenty of vim but literally 0 emacs

Dead Comment

Dead Comment

yoyohello13 · 18 days 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 · 18 days 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.

smaudet · 18 days ago
I went (10 years ago) JetBrains because of emacs. Back then, they were the Kool Kid in town that made emacs-style functionality more accessible.

More and more they've become just another IDE with too-much-to-do. Still one of (the?) best, but as soon as your editor becomes impractical to use to edit a text file... (because it really just likes to work on projects...).

But yeah, emacs remains functional in a way that JetBrains...probably won't. I'm already more than several years behind on their releases because they stopped putting a decent product...

ethan_smith · 18 days ago
Emacs' advantage comes from its Lisp interpreter core - AI agents can introspect and modify the entire editor state at runtime through the same evaluation mechanisms that users employ, unlike most editors with rigid plugin APIs.
finaard · 18 days ago
This is true - and a reason I'm not sure about this package. I'll still try it, but I don't think it's the right way forward.

Pretty much the only advantage is that you get access to logic available in the claude code CLI - which in large parts probably already exists in emacs or extensions. On the downside it'll bind you to claude code.

I'm generally using a generic LLM wrapper - emacs has two good ones, gptel and llm. I have both configured, as both are required by some of the extensions I'm using, but currently prefer gptel: It seems to be more advanced, especially when it comes to tool use.

Advantage of that approach is that when you're hitting a wall with one LLM being stupid with one specific issue you can just switch to a different one. Or you can use the same environment with locally hosted LLMs.

Disadvantage is that the IDE/project functionality is not tied up that nicely yet - there are a few attempts (like minuet or evedel), but nothing I really got into.

Currently I'm mostly doing a chat buffer, and the LLM has tools available to inspect and to some extend alter the current state, published here: https://github.com/aard-fi/gptel-tool-library - that works pretty well on a per file basis, and to some extend it can figure out project details, but overall it lacks project info - in part that's a context limitation thing, where that info should be provided as additional context for each instruction (which I assume the CLI is doing).

What this approach also nicely enables is fun experimentations:

- https://github.com/aard-fi/buffer-turtle implements simple turtle graphics in an emacs buffer, and has bindings for the LLM to control the turtle - https://github.com/aard-fi/arch-installer has the glue to have the LLM interact with a serial port, and some glue (like basic ANSI escape parsing) to make the result look somewhat reasonable in an emacs buffer. That allows it to do stuff like trying to install Arch linux in a VM

Both repos have links to youtube videos with some runs.

vemv · 18 days 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.

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.

mijoharas · 18 days 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.)

[0] https://github.com/lizqwerscott/mcp.el

yogsototh · 18 days ago
I personally have great success with gptel + mcp + claude (via copilot due to corporate restrictions)

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.

Karrot_Kream · 18 days 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 · 18 days 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.

Karrot_Kream · 18 days ago
> 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.

Yes I'm familiar with apropos, macros/extensions, advising, indirect buffers, and a lot of stuff. I've just never debugged elisp mostly because I haven't had a hard time just iterating on elisp to make it work and have never bothered debugging packages I've installed. I've put off learning edebug because for the most part I've used the "Lisp debugging" part of my brain on SBCL and Common Lisp. It's just one of those "do I really need to shave this yak?" kind of things and until now it's been no.

Sounds like edebug is the next elisp frontier for me, thanks.

(Btw your comment is a bit condescending sounding but I actually love reading your emacs comments on HN because your enthusiasm for emacs is great.)

> 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.

Yes absolutely this though. I've been having a lot of fun with gptel and in general I have all sorts of fun bindings that do exactly what I want to do. There's a reason I don't want to give up emacs and it's this ability to write elisp and wrangle text.

> 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.

I'll be honest, my interest in dealing with this kind of thing greatly varies based on what's going on in my life at the time. Sometimes I'll be locked in and go on a deep binge to optimize my environments. Other times I find it very painful. Maintaining an emacs config has always been quite annoying but I put up with it because the power and customizability of the whole thing is unparalleled.

(The fact that an editor like Cursor is a proprietary fork of an open codebase that restricts you to the team's vision is, uh, honestly pretty silly to me. Like why? I can write code can't I? Guess that means I need to maintain configuration but I'd rather do that than use Cursor any day.)

macintux · 18 days ago
> 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.

The second half of your message is interesting. The first half is needlessly condescending.

alwillis · 18 days ago
Neovim editing has come a long way; you go from barebones (no plugins) to full-blown IDE and everything in between.

There are lots of pre-configured Neovim distributions if you don't want to roll your own, such as LazyVim [1].

There are lots of AI plugins for Neovim [2].

[1]: https://www.lazyvim.org/

[2]: https://github.com/rockerBOO/awesome-neovim?tab=readme-ov-fi...

monooso · 18 days ago
I have no idea why you're being downvoted.
donaldihunter · 18 days ago
> I'm curious what emacs users are doing these days.

Using Emacs for pretty much everything. Org (w/ babel) for most of my notes, blogs, presentations and todo lists. Magit for everything git. Gnus for keeping up with the linux kernel mailing list firehose. LSPs for C, Python, Go, Rust. Tide for typescript. I use aider and aidermacs for my AI pair programming. Haven't tried Claude Code yet but it's on my todo list because everyone raves about it. I even use mastodon.el, and Circe for IRC.

I use macOS native emacs built from source, currently 31.0.50. The largest project I work with is the Linux kernel which I edit remotely using Magit and LSP over TRAMP.

pxc · 18 days ago
> I'm curious what emacs users are doing these days.

Integrating with a new language ecosystem is a significant amount of work for me because it involves making choices about what packages to configure and how, and which external dependencies to go with (e.g., which LSP server to use). I try to make those choices carefully, and for a lot of projects I touch in only a dabbler in those languages. It takes time to figure out.

But for actually managing external dependencies (LSP servers, linters, static analyzers, etc.), I use Nix (in particular devenv.sh) and direnv so that Emacs doesn't have to download them; it just finds them on the path. I also sometimes configure those tools via Devenv as well, creating an in-repo RC file for them and pointing to it with an appropriate environment variable. Then my configuration lives in source control and the rest of my team can use the same tools regardless of editor choice.

Karrot_Kream · 18 days ago
Yes Nix is also something I've been thinking of diving into with emacs to solve this issue. What's your experience been running Nix on non-Linux targets? I mostly use MacOS and FreeBSD outside of Linux, primarily MacOS.
b5n · 17 days ago
`use-package` has pretty much simplified everything:

  ;; c
  (use-package c-mode
    :ensure nil
    :defer t
    :mode "\\.cu?\\'"
    :config (setq c-default-style "gnu"
                  c-basic-offset 2)
    :hook ((c-mode . lsp)
           (c-mode . bmacs-ide)))

globular-toast · 17 days ago
Use-package can even install third party packages automatically. Definitely worth learning. I converted my .emacs a few years ago. I'm using borg[0] to install stuff though because I like git.

[0] https://github.com/emacscollective/borg

_flux · 18 days ago
Btw, LLMs are actually quite helpful for configuring Emacs, in particular for creating custom functionality..

But yeah, I broke my home Emacs setup somehow so that rust-mode no longer works in some situations. I have my config in git, though, so maybe I'll figure it out!

At least I've started migrating to use use-package for configuration, to bring some structure to the configuration.

Zed does seem rather interesting, but I don't ever see it being as configurable/extensible at runtime as Emacs. I suppose one could always just implement such features into the Zed itself; I presume its code is not too indimidating, given it's a modern code base and not likely to break in unexpected ways.

frumplestlatz · 18 days ago
For your particular shell issue:

https://github.com/purcell/exec-path-from-shell

It can extract PATH and other environment variables from your login shell configuration.

pxc · 18 days ago
!! This seems really nice for macOS users! Less clunky than the "envfile" option Doom Emacs provides for sure.

I also recognize the author's name because I use their direnv integration package all the time! That one is great, too.

lelele · 18 days 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 · 18 days 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.

komali2 · 18 days ago
> I'm curious what emacs users are doing these days.

8 years user here so still an emacs noobie, but I switched to nvim two months ago and haven't opened emacs in a month. Just slapped on lazy.vim and have been toggling the different AI tools in LazyExtras.

I do find the ecosystem a lot better in nvim and it seems the community around nvim is more publicly engaged with new AI tooling - check out ThePrimeagen for example.

iLemming · 18 days ago
> 8 years user here so still an emacs noobie, but I switched to nvim

I don't know man, whenever I see comments like this, I just don't get it - there's just no "switching" for me personally to anything, like ever, I just don't even see the possibility for it.

The question that always gets me is like: "were you just using it like ... I don't know to edit text? That's all you've done with it?..."

I have no idea how would I be able to do my things in anything else, whatever that is - Nvim, Sublime, Helix, etc.

- How would I control video playback from my editor while taking notes?

- How would I annotate PDFs?

- Or, create and manage Anki cards - my flashcards are just my notes, they don't require a different medium to exist.

- Or how would I test APIs - I don't need to use stuff like Postman - all my endpoint investigations are in my notes. Documented and perfectly reproducible.

- How would I manage my dotfiles? I use Org-babel for it and it makes my entire system immutable - is it better than Nix? I dunno, it just works and it's simple.

- What would I use for file management? I just wrote a wrapper that uses rsync to move large files around, how would I ever do anything like this in other than Emacs? How would I mark all the files that are over 1GB, older than three months and match a given regexp?

- In Emacs, I can move my cursor to a piece of plain text like "RFC 959", "SAC-28410", or "my-org/some-service#182" and immediately start reading shit - it intelligently recognizes that the first one is an RFC document, another is a Jira ticket and the third one is a Pull-request on GitHub.

- I can type a single query and simultaneously search for it on Wikipedia, Google, YouTube, GitHub, Hacker News or my own browser history, and I wouldn't even know how to do that in something that's not Emacs.

- In Emacs I can type a shell command and pipe results into a buffer, or pipe the content of a buffer to a shell command.

- In Emacs, my color theme changes depending on time of the day, because Emacs has built-in lunar and solar calendars.

- How would I read and manage my email in Helix?

- How would I track time? Clock in/out of tasks, generate time reports, do pomodoros?

- How would I search, browse and read Hacker News and Reddit?

- How would I create presentations?

- How would I test database queries?

- How would I manage Docker containers?

- How would I read man pages?

- How do I translate text?

- And how would I interact with LLMs?

...

Nope, there's no "switching" for me. It's just not possible. My entire life is woven into this text-based operating system. My thoughts, my work, my communications, my entertainment - they all exist as interconnected plain text that I can grep, link, transform, and version control. Every keystroke I've memorized, every workflow I've perfected, every piece of data that references another - it would take years to rebuild this in whatever there might be, and I'd still be left with a pale imitation. Emacs isn't just where I edit text; it's where I live.

nextaccountic · 18 days ago
Note, Zed now has integration with Claude Code too[0], as an alternative to its own native agent (which funds Zed itself)

[0] https://github.com/jiahaoxiang2000/claude-code-zed

fergie · 18 days ago
> Typescript

If Typescript is a big part of what you need to deal with on a daily basis, then at some point it makes sense just to use VSCode. And BTW, thats totally by design and a part of Microsoft's developer aquisition strategy.

wwarner · 18 days ago
I run emacs in docker to manage these issues https://github.com/wwarner/emacs-native-dockerfiles
antipaul · 18 days ago
In macOS, I use the GUI Emacs from https://emacsformacosx.com/

Perhaps if you solve shell issues there once, they will stick.

Karrot_Kream · 18 days 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.

__MatrixMan__ · 18 days ago
The path pain sounds to me like a job for nix. If a dependency is not ready at hand, the fix should be a single code change in the project, not separate environment fixes for each dev.
pjm331 · 18 days 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 · 18 days 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.

wyuenho · 18 days 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.

https://github.com/yuya373/claude-code-emacs <- it literally implements every feature that every other ones have.

kgwgk · 18 days ago
I don't know how popular it is but it may be the easiest one to install:

https://melpa.org/#/claude-code

celeritascelery · 18 days ago
It doesn’t look like that had the /ide integration that Claude-code-ide has
wyuenho · 18 days ago
It absolutely does. Give it a try.

Dead Comment

cml123 · 18 days 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 · 18 days 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).

[1] https://ghuntley.com/fracture/

paddy_m · 18 days ago
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 · 18 days 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.

skydhash · 18 days 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?
Guthur · 18 days 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.

qiine · 18 days ago
this is just sad
spauldo · 18 days 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 · 18 days ago
I didn’t know MIT AI lab was involved in the modern AI boom, that’s interesting
benreesman · 18 days ago
Asionometry has a great video on it: https://youtu.be/sV7C6Ezl35A

The Levy book Hackers has a ehole third of the book about it.

ericdallo · 18 days ago
Give it a try to https://github.com/editor-code-assistant/eca, I'm focusing on make the best tool for ai pair programming in Emacs