Discussion
Emacs and Vim in the Age of AI
4b11b4: learning and using and customizing emacs has never been bettergetting a bibliography and citation workflow up and running in org is incredibly easy. Use a model to read the first page of your PDFs dir and add bibtex entries...then you just build your static site around thatplease don't write with a model. We want your own prose
rgoulter: May be splitting hairs, but I don't think it's the terminal-native part that's relevant, so much as that both LLMs and emacs/vim are text oriented in ways which e.g. VSCode isn't. (Or perhaps just the text-oriented nature is a result from initial constraint from being terminal-native).As the author points out, that Emacs is a highly extensible 'operating system' which makes it relatively easy to bring different tasks together. -- This ought to be a natural parallel to what the agentic tools are trying to do (use MCPs and skills etc. to bring different functionality to the LLM execution environment).That LLMs can help users extend emacs ought to lower the difficulty curve.Still. It's silly to wish that Emacs could be the LLM's best friend, rather than demonstrating how it is.RE: "what if in the future all coding skills are irrelevant". My experience has been that good results from LLMs come from putting good thought into its usage. They're quite far from a magic "push the button and get the result you want" where the skill doesn't matter.
igor47: Agreed on the config. I just launch a Claude code in my vimrc directory now if I want to change anything about my setup or have any questions about how to do something.Also, I love running a tmux pane for vim, and then like 4 or 5 more -- a few Claude code instances, one for the dev environment, one for interacting with jj/git or other random commands. So easy to switch between tasks. My main annoyance with my setup is that my Bluetooth trackball times out after a period of inactivity, and when I eventually need to use the pointer again there's a lag while it reconnects...
chamomeal: Not totally related to your point BUT I’d like to tack on that lisps and generally repl-friendly languages are in an interesting spot in the LLM-enabled world.The calva-backseat-driver vscode extension runs an MCP that lets LLMs manipulate and eval clojure expressions in a REPL. It provides a tighter feedback loop and lets LLMs do much more complicated stuff with much more confidence. They can test functions as they go, read docs, check query outputs, write and eval tests. It’s actually crazy what Claude opus can do with REPL access.It might be insanity to let an LLM modify your emacs on the fly, but I’m sure people will have some crazy and interesting ideas in that vein!
lorenzohess: Agreed.We should also consider whether the rise of AI for any type of implementation task will reduce the number of new Emacs and Vim users, thereby limiting and ultimately killing the communities' growth.I came to Vim, and then Emacs, because I wanted a tool for coding that I could configure exactly how I liked. If AI does my coding for me, my need for a custom editor will decrease. More generally speaking, if AI can do any type of implementation task -- coding, task management, email, etc -- my need for software customized for those things will decrease.If people don't need custom software, many fewer people may seek out and find Emacs and Vim.Who will maintain them and evangelize once today's generation cannot?
nine_k: If implementation of anything is easy, far fewer people would be needed to keep the projects alive.AI is okay at doing simple things, but it needs to be overseen. Even before any viable AI, I used to read code more than to write. And Emacs is a good tool for that.Then, Emacs specifically has a killer app, Org mode. For me, it's about as important as good programming modes, if not moreMore importantly, Emacs is a platform (as is Neovim, and VS Code). It adjusts to the needs of the user and the moment.
lelanthran: Yeah, I use Slime in vim to drive programs (like psql) via their stdin/stdout, so an "agent" that does stdin/stdout only for UI is perfect.If I ever write my own agent, it will be in this fashion.-----------------[1] I have a `scratchpad.sql` file filled with whatever sql snippets I am testing and have `psql mydbname` in a vertical split. Doing C-c C-c in the scratchpad sends the paragraph to the psql instance.
emporas: In my mind I had the opposite picture than the one the article portrays.Emacs was lagging behind common IDEs, like IntelliJ and VsCode, cause big companies put thousands of developers to combine many features into one integrated package and everything works together providing a very smooth experience compared to Emacs (and Vim probably).Now IDEs are useless. I personally haven't felt the need to goto_definition or autocomplete variable names for almost 2 years.Now programming becomes closer to plain text writing and editing and it levels the playing fields for all editors.Also Emacs can run Rust plugins, the user is not limited to Elisp. Not very convenient but possible.
FabianCarbonara: This is super exciting. Emacs already treats UI as just more Elisp to eval. The AI could sculpt the entire editor to whatever you need in the moment. No plugin to install, no config to maintain. Just describe what you need and the editor becomes it.
codemac: emacsclient + codex has been a game changer.I probably add or change a feature in emacs once a day, or every other day. I've been using emacs for some insane amount of time, maybe 20 years? And still I had more customization to go.Emacs and programs with it's level of programmatic user customization will survive the AI period in my opinion. Anything static will falter.