[HN Gopher] Claude Code IDE integration for Emacs
___________________________________________________________________
Claude Code IDE integration for Emacs
Author : kgwgk
Score : 502 points
Date : 2025-08-06 13:17 UTC (9 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| cristea wrote:
| 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!
| helsinki wrote:
| It's more common that they lead technological advancements in
| IDEs, not follow. Neovim in particular.
| benreesman wrote:
| 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.
|
| https://cdn.some.pics/b7r6/68936c070fa56.png
|
| https://cdn.some.pics/b7r6/68936d79c607c.png
| bevr1337 wrote:
| You must understand that a screenshot of your black balance
| cannot translate to another screen?
| benreesman wrote:
| 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.
|
| https://gist.github.com/b7r6/581295d8bb905ef598a05fdf2810a0
| 7...
|
| https://gist.github.com/b7r6/fbbfb1cf2a3d14927bbe621a905052
| 2...
| bevr1337 wrote:
| Thank you for clarifying. I opened that screenshot
| prepared to be amazed by blackness... My mistake ;)
| benreesman wrote:
| 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.
| chaoskanzlerin wrote:
| >stellarwind
|
| That sure is a choice of name for your project!
| benreesman wrote:
| Ha, it's a working title. The name I want for what this
| will become is `straylight v4`, but that name belongs to a
| friend, and it has to be a worthy successor to earn being
| called that. :)
| anonymid wrote:
| magenta nvim implements a really nice integration of coding
| agents.
| brotherjerky wrote:
| Anyone have good results with something similar for Neovim?
| greymalik wrote:
| https://github.com/greggh/claude-code.nvim
| https://github.com/coder/claudecode.nvim
| bikeshaving wrote:
| 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.
| softwaredoug wrote:
| I just like having a neovim terminal open with claude code open
| helsinki wrote:
| 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 wrote:
| Just use tmux and split windows
| softwaredoug wrote:
| I have never noticed any problem...
|
| The main annoyance is dealing with newlines
| OrderlyTiamat wrote:
| I've noticed no problems, and I'm usually pretty
| controlling about performance- what am I missing?
| rnmp wrote:
| I use Neovim + kitty
| (https://sw.kovidgoyal.net/kitty/conf/) and the performance
| is phenomenal. Everything is instant. kitty also has a
| built-in robust layout system so I ended up ditching tmux
| entirely for it.
| apwell23 wrote:
| they how do you say. look at these lines of code to claude?
| oblio wrote:
| 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 wrote:
| 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 :)
| softwaredoug wrote:
| I just say "look in file.py at lines 20-30" or "See in
| function FooBar where we foo the bar".
| apwell23 wrote:
| i guess thats a bit of typing and then claude has to do a
| grep/find to figure out what you are talking about.
| adregan wrote:
| 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 wrote:
| 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 wrote:
| 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)
| rustyminnow wrote:
| :help 'autoread' (I think)
| yoyohello13 wrote:
| 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.
| qwertycrackers wrote:
| 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.
| levl289 wrote:
| 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.
| fourseventy wrote:
| I gave Avante a fair try for about a week and my opinion is
| that it's not really ready for big time yet. Lots of bugs,
| slow, and cumbersome. Now I just use Claude Code in a
| separate tmux pane and its great.
| anonymid wrote:
| magenta nvim
| rurban wrote:
| Looks better than my current Claude Sonnet integration via
| copilot.
| pjm331 wrote:
| 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 wrote:
| 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.
| vemv wrote:
| 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 wrote:
| 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 wrote:
| 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.
| blahgeek wrote:
| 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 wrote:
| 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 wrote:
| 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.
| ljm wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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?
| benreesman wrote:
| Sorry, I saw another commenter ask about the dots but for
| some reason didn't see this one, all the key files are
| linked as gists here:
| https://news.ycombinator.com/item?id=44817968
|
| Let me know if you have any questions (or suggestions for
| that matter, it's rough in places).
| AlexCoventry wrote:
| Sounds cool. What sort of stuff do you develop, and who's
| paying for it?
| benreesman wrote:
| I work for a medium-sized proprietary/discretionary fund.
| AFAIK the principles trade all kinds of stuff, macro
| stuff. My current job is tuning up the execution on the
| cryptocurrency adjacent desk, but not like blockchain
| stuff, it's somewhere in between OG crypto trading stuff
| and like Wall St. HFT circa 2006-2010 depending on how
| you measure, it's in the "kernel bypass matters but FPGAs
| are still exotic" sort of regime, some of it is legacy
| REST APIs still but FIX 4.2 SBE and other real finance
| protocols (and real banks and stuff) are starting to be a
| part of the ecosystem.
|
| I aspire to be a lot faster than this stuff (I've built
| faster stuff than this) but this is quite a good library
| (amazingly good by OSS standards, good stuff in this area
| is rarely OSS, props to the maintainers):
| https://github.com/crypto-chassis/ccapi, in particular
| this library does a really good job of being correct
| across a lot of surface area, it's serious people doing
| it, and there are forks of it that use DPDK floating
| around.
|
| If by who's paying for it you mean the big Anthropic
| bill? My boss's boss is pretty enlightened about the fact
| that learning how to use AI well is expensive, so when
| I'm on a tight schedule I get a pretty forgiving budget
| for the model fees. It's a pretty serious perk in the
| sense that it's really expensive to master using these
| things :)
| neutronicus wrote:
| I have a couple more!
|
| I take it this is all back-end work? Have you tried out
| one of the Haskell-y front-end languages? Elm?
|
| > Both of these are very (!!!) well complimented by
| magit, which is so good at AI supervision it seems
| designed for it, by a genius.
|
| Can you expand a little on this point?
| benreesman wrote:
| I very much recommend just watching some of the great
| `magit` videos on youtube, but later on when I have time
| I'll do a little `asciinema` of like, a Claude Code
| interaction and reviewing / piecewise incorporating the
| bots changes, so if you check back here tonight or
| tomorrow latest I'll do a little demo.
| yablak wrote:
| Share your dotemacs/gptel config? I'm not in love with
| emacs eider integration. Wondering how to put direct
| editing/control to the model. Still very cludgy with
| gptel though I've been using it for months
| benreesman wrote:
| This is the fairly "cut down" one I alluded to without my
| mixed-results heavyweight AI integration stuff, this is
| like a gist of my open dev box session so it's got random
| shit commented out and stuff, but I think most people's
| config looks like that point in time:
|
| https://gist.github.com/b7r6/84c6ab80c0b8bd5267b8c436e4d0
| 0a8...
|
| https://gist.github.com/b7r6/23cfacbf181c9b0447841c798345
| a79...
|
| The AI stuff doesn't work without this running:
|
| https://gist.github.com/b7r6/449faab9b5be00867f2e8053c610
| bdb...
|
| That lets me publish my API vendor keys without issues:
|
| https://gist.github.com/b7r6/fe96bd0cc37d72c1991d84d19843
| 71b...
| sexyman48 wrote:
| _cannot afford to fuck around, go for the jugular every
| day_
|
| Slow your roll. Nothing you write will matter in six
| months.
| kabdib wrote:
| the code that i am least proud of is the code that has
| lasted the longest :-)
| benreesman wrote:
| 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 wrote:
| 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 wrote:
| 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.
| aaronbaugher wrote:
| Ditto. Being broke has always been existential, and
| pretty damn scary even if you had family and other
| resources you could lean on. Nothing's changed about
| that, though particular industries/regions may get better
| or worse.
| __MatrixMan__ wrote:
| 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.
| lukaszkorecki wrote:
| it's coming: https://github.com/editor-code-assistant/eca
| didibus wrote:
| There's this one: https://eca.dev/
| godelski wrote:
| 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/
| dismalaf wrote:
| 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.
| neutronicus wrote:
| 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?
| cmrdporcupine wrote:
| 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.
| celeritascelery wrote:
| 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.
| mijoharas wrote:
| I think I basically had the same experience:
| https://news.ycombinator.com/item?id=44813189
| mikece wrote:
| 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.
| mosburger wrote:
| 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.
| gjvc wrote:
| "Cue"
| iLemming wrote:
| A pro tip - add a clause in your LLM prompt to randomly
| misspell words, so people can't blame you for an aislopper.
| :)
| mikece wrote:
| 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 wrote:
| 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 wrote:
| > 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.
| iLemming wrote:
| > 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.
| reedlaw wrote:
| 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.
| greenavocado wrote:
| Emacs as PID 1
|
| Emacs standing alone on a Linux Kernel
|
| https://web.archive.org/web/20200110131523/http://www.inform.
| ..
| spauldo wrote:
| It has a great editor - evil-mode!
| iLemming wrote:
| > the vim joke being that it lacks a good editor
|
| 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.
| oropolo wrote:
| It's not an IDE: it's a religion.
| iLemming wrote:
| What? Emacs is in fact a digital anarchism - complete
| opposite of religion. It's Kropotkin1 with parentheses -
| mutual aid through package sharing, no central authority
| (even RMS can't dictate your config), and every user
| autonomously creating their own means of production. The
| 'religion' rhetoric is just subversive humor disguising a
| radical experiment in computational self-governance.
|
| Where IDEs impose hierarchical workflows, Emacs says 'no
| gods, no masters, only defun' It's not a cathedral or a
| bazaar - it's an infinite commune where every buffer is a
| consensus decision you make with yourself.
|
| ----
|
| 1 - Peter Kropotkin was a Russian aristocrat who said "fuck
| nobility" and became one of anarchism's main theorists.
| apwell23 wrote:
| I think its just using claude code terminology of "IDE
| integration" . not implying that emacs is an IDE.
| globular-toast wrote:
| 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.
| Barrin92 wrote:
| 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.
| aquariusDue wrote:
| 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.
|
| [0]: https://www.youtube.com/watch?v=QMVIJhC9Veg
| lordgrenville wrote:
| 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 wrote:
| 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.
| iLemming wrote:
| Well similarly opposite "myth" persists that Emacs (unlike
| Vim) is a non-modal editor. It really is a modal one.
| cmrdporcupine wrote:
| 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.
| iLemming wrote:
| 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.
| jact wrote:
| This is profaning the temple of St iGNUcius
| apwell23 wrote:
| 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
|
| https://github.com/coder/claudecode.nvim/blob/main/PROTOCOL....
|
| https://github.com/coder/claudecode.nvim/blob/main/ARCHITECT...
| cml123 wrote:
| 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.
| paddy_m wrote:
| 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.
| qiine wrote:
| this is just sad
| benreesman wrote:
| 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 wrote:
| Why did you?
| skydhash wrote:
| 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?
| paddy_m wrote:
| 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.
| spauldo wrote:
| 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 wrote:
| 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.
| spauldo wrote:
| In that case it'd just live on in Melpa regardless of
| what the mailing list thinks.
| Guthur wrote:
| 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.
| paddy_m wrote:
| 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.
| spauldo wrote:
| 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.
| uludag wrote:
| 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/
| bowsamic wrote:
| I didn't know MIT AI lab was involved in the modern AI boom,
| that's interesting
| benreesman wrote:
| Asionometry has a great video on it:
| https://youtu.be/sV7C6Ezl35A
|
| The Levy book Hackers has a ehole third of the book about it.
| bowsamic wrote:
| Haven't got time to watch that but that book seems quite
| old. Are you sure it talks about LLMs?
| benreesman wrote:
| 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.
| spauldo wrote:
| 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.
| hit8run wrote:
| I want something like this for helix!
| yoyohello13 wrote:
| 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 wrote:
| > 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 wrote:
| 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...
| iLemming wrote:
| Oh boy, I was such a jetbrains kiddo, I can't even tell
| you. I had posters on my wall with keybinding and commands
| cheat sheets, I knew people working for JetBrains by their
| names, I talked to them regularly, it almost felt like we
| were on the same team. I tried to debug and understand
| plugins, even wanted to develop one, but somehow never got
| to do that - the hacking mindset of a habitual programmer
| just wasn't there yet - I kinda went with the status quo -
| "if IntelliJ doesn't have this feature, maybe I don't even
| need to know about it..." I've discovered and reported so
| many bugs on YouTrack, I still receive updates on them,
| even today - some of them date to 2009, things that
| JetBrains never even tried to improve since then.
|
| WebStorm was probably the biggest reason why it took me so
| long to switch to Emacs. My biggest fear was that if I
| invested in learning Emacs, and at some point I'd
| inevitably find that something simply couldn't be done in
| it, and I'd be forced to go back and my idyllic life would
| be ruined. God, how wrong I was. Not only have I found
| _everything_ I needed, I actually discovered radically
| different ways of solving problems.
|
| In the end, turns out one thing jetbrains did right - they
| have nailed the marketing - I surrendered without
| resistance. My biggest regret is not trying out Emacs
| sooner. I wish someone very persuasive showed me things I
| did not know were possible. That's why I get very vocal
| about it - kids have zero idea what they'd be missing.
| ethan_smith wrote:
| 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.
| eulers_secret wrote:
| 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...
| bbsss wrote:
| Note that there are several projects on GitHub that let you
| proxy an openai compatible server and set it as
| ANTHROPIC_BASE_URL
|
| Got some good success with GLM-4.5-Air running locally
| recently. Still mainly using claude code max though.
| wyuenho wrote:
| 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.
| celeritascelery wrote:
| It doesn't look like that had the /ide integration that Claude-
| code-ide has
| wyuenho wrote:
| It absolutely does. Give it a try.
| celeritascelery wrote:
| I just tried it. It does not support /ide integration. You
| can test this by typing /ide in claude code. MCP support is
| not the same thing as IDE support.
| kgwgk wrote:
| I don't know how popular it is but it may be the easiest one to
| install:
|
| https://melpa.org/#/claude-code
| r_murphey wrote:
| This is the way.
| qalmakka wrote:
| 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
| alias lvim "bwrap --bind / / --bind $HOME/.config/{lazy,n}vim
| --bind $HOME/.local/share/{lazy,n}vim --proc /proc --dev /dev
| nvim"
|
| works great (note: fish alias)
| bicx wrote:
| 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 wrote:
| 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?
| ericdallo wrote:
| 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
| riskassessment wrote:
| 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 wrote:
| 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.
| Karrot_Kream wrote:
| 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.
| antipaul wrote:
| In macOS, I use the GUI Emacs from https://emacsformacosx.com/
|
| Perhaps if you solve shell issues there once, they will stick.
| Karrot_Kream wrote:
| 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.
| frumplestlatz wrote:
| 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.
| lelele wrote:
| >> 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 wrote:
| > 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.
| iLemming wrote:
| > 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.
| macintux wrote:
| > 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.
| iLemming wrote:
| > is needlessly condescending.
|
| While this may sound condesending, I believe it's
| understandable where the snub is coming from. VSCode
| doesn't need evangelism - it has become the de facto
| standard that every programmer is expected to know. Emacs
| occupies a different position entirely, and when curious
| newcomers encounter comments like "I used Emacs for 15
| years before switching to...", they draw conclusions that
| may not reflect the full picture. Upon closer examination,
| these long-time "experts" often reveal they barely engaged
| with Emacs beyond basic editing - they've never published
| packages (which is actually far simpler than creating
| VSCode extensions), never written custom functions, never
| even added a simple advice for their own needs. This isn't
| truly "using Emacs"; it's merely dabbling in it.
|
| Unlike conventional tools where years translate to
| expertise along a predictable curve, Emacs rewards deep
| engagement over mere time served. When someone who spent
| years passively using Emacs criticizes it publicly, they
| inadvertently discourage potential users who might have
| discovered something transformative. The damage is
| disproportionate: criticizing VSCode barely makes a dent in
| its massive user base, but dismissing Emacs can deter the
| very people who would thrive in its ecosystem - those
| willing to invest in understanding a tool that becomes an
| extension of their thinking rather than just another tool.
|
| Therefore, of course I would be confrontational. I honestly
| have not ever seen an accurate, honest, factual review of
| Emacs criticism and comparison with other tools in the same
| space, because simply there isn't any other tool that
| operates at the same level. Critics compare surface
| features while missing that Emacs is essentially a
| different category of software altogether.
| Karrot_Kream wrote:
| > 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.)
| iLemming wrote:
| > Maintaining an emacs config has always been quite
| annoying
|
| I dunno, I feel it stopped being like that for me long ago.
| Perhaps I'm just a "tinkerer" and maybe I never even minded
| improving my setup. But like I said, at some point, my
| workflow has become purely "goal-oriented" - whenever I see
| a problem, I either:
|
| - Make a todo list item and forget about it until next time
|
| - Or start writing some Elisp (if the problem is simple
| enough)
|
| Let me share some practical examples of each.
|
| One day I got annoyed that it was taking me more than a
| minute to search for my own comment on HN, around some
| interesting conversations. I made a todo list item. Then at
| some point I wrote a function, then later I published a
| package. I can't even tell you how effing nice it feels now
| - takes me seconds to find relevant stuff.
|
| The other day I was reading a pdf, while taking notes. pdf-
| tools has this nice feature called pdf-view-themed-minor-
| mode - it adjusts the colors of the document to the colors
| of your theme, nicely blending the pdf into your editor. I
| use it all the time. I also use a package called
| circadian.el - using Emacs' built-in solar calendar, it
| adjusts the color theme based on the time of day. So, my
| color theme changes automatically, but it doesn't get
| automatically reflected in pdf documents I previously had
| opened. Not a biggie, I still can do it manually, yet it
| took me a few minutes to concoct an advising function that
| runs after (load-theme) and sets the colors in every pdf.
| Of course, why do something manually that the computer is
| supposed to figure out without your assistance?
|
| Now, neither pdf-tools maintainers, nor the author of
| circadian.el know about my customizations. If any of them
| make some changes that break my beautiful zen fidgets, why
| would I even get mad about it? I'll try to fix it, and if
| it takes me longer than three minutes, I'll just remove it
| altogether and go back to toggling it manually - not a
| biggie, never was.
|
| That has become my philosophy that probably extends beyond
| Emacs - my terminal, my browser, my WM, etc. The world is
| never meant to be perfect for everyone. But you can make it
| perfect just for you. I learned that it's better to apply
| ideas that enable you to build your perfect world, than
| someone else's perception of what _your_ ideal world should
| be. That's why for an individual programmer, choosing FOSS
| tools almost always yields better results in the long run.
| In a team setting that may be a bit difficult, but if you
| get inventive enough, you can always find workarounds. This
| is what Emacs taught me that no other tool ever did - the
| instinct to never settle for the status quo. Whenever
| something bothers me, I either discover workarounds on the
| spot or make it a todo item.
| AlexCoventry wrote:
| edebug is great! It was way ahead of its time.
| nextaccountic wrote:
| 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
| alwillis wrote:
| 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...
| donaldihunter wrote:
| > 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.
| megaloblasto wrote:
| 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?
| iLemming wrote:
| gptel supports all sorts of models, including localized ones.
| calebkaiser wrote:
| 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.
|
| 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.
| megaloblasto wrote:
| 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?
| oblio wrote:
| 1. MacMini.
|
| or:
|
| 2. https://frame.work/es/en/desktop
|
| 3. https://marketplace.nvidia.com/en-us/developer/dgx-spark/ =>
| https://marketplace.nvidia.com/en-us/reservations/ (cheapest is
| 3k)
| wwarner wrote:
| This is great, and I need it and will use it, but what I need
| _even more_ is some kind of integration with org mode (or just
| note taking generally). I found out the hard way that github
| /copilot deletes conversations after 30 days! So much for
| building a knowledge base with an AI assistant! I really need
| something a bit like Goog's `notebookllm` for capturing research,
| except I'd like to control it locally.
| radarsat1 wrote:
| There is ob-aider, maybe interesting for you to try.
|
| https://github.com/emacsmirror/ob-aider
| banjomonster wrote:
| Try gptel-mode - your chats are in org buffers, and you can
| save/restore sessions easily. Also plays nicely with mcp.el for
| more tooling access.
| JohnKemeny wrote:
| gptel-mode (I have it at C-c L) is great!
| epistasis wrote:
| See also this other integration of Claude Code for emacs:
|
| https://github.com/cpoile/claudemacs
| crat3r wrote:
| I feel like I still have yet to see any decent answers to this
| question; Are professional SDE paying for Claude on their own
| dime, and then logging into their personal account and somehow
| integrating Claude Code (or other LLMs) into their work repos
| that way?
|
| The startup I work for has chosen their flavor of AI subscription
| and its frankly not developer focused. Instead they chose Google
| because of the productivity tools in the Google App suite.
|
| I want to try Claude Code but the reality is that I don't want to
| be the martyr that tells my team lead that I want to see if AI
| can do (parts of) my job for me. It feels pretty sketchy or maybe
| even completely wrong to use something like this on a company
| repo I don't own without permissions, so I haven't done it. I
| suppose I will just have to continue to wonder if the agentic
| coding services are smoke and mirrors because I somehow don't
| know anyone who has used them extensively either and I have no
| clue when I will be able to use one with the strings attached of
| it being on a free-tier...
| ceuk wrote:
| Yes I pay for the most expensive Claude sub with my own money
| and use it at work.
|
| I also have to use it via a proxy server I set up to get around
| the corporate firewall which explicitly blocks it. The company
| like the results but wouldn't like how I get them..
|
| More corporate ridiculousness
| xvfLJfx9 wrote:
| I hope one day we can have the same thing for the helix editor.
| asawfofor wrote:
| Might SWE agents converge on an inclusive set of APIs that
| Editors and IDEa could adapt to?
| eschaton wrote:
| Unfortunate to see more of this horseshit.
| submeta wrote:
| I love(d) Emacs a lot a few years ago. Until my job and
| obligations didn't leave me much room for tinkering. There is an
| inverse relationship between tinkering and getting things done.
| Although LLMs changed the game: These days I leave the tinkering
| to Claude Code. And can change every aspect of my tools within
| seconds. No waste of time, max output. But I still moved away.
| why? Because I believe the Emacs way is wrong. And here's why: If
| I'd do all my computing in Emacs, I'd miss out on MailMate as a
| mail app, on Ghostty as my terminal, on Nvim as an editor, Python
| as my automation language (instead of Elisp where buffer is the
| data type used most?) and so much more. I like the Unix way: Do
| one thing, and do it really good: fzf, ripgrep, yazi, lazygit,
| absolutely awesome apps for the console. And all can communicate
| with each other via pipes! So I moved away, and never was
| happier.
___________________________________________________________________
(page generated 2025-08-06 23:00 UTC)