Emacs 31 is around the corner: The changes I'm daily driving

Emacs 31 Features & Reactions

  • Strong enthusiasm for: auto tree-sitter grammar installation, editable xref, frame layout transposition, and speedbar as a side window.
  • Many see auto tree-sitter as removing a major pain point; some had elaborate scripts to manage grammars.
  • Some long‑time users admit they’ll upgrade, then mostly keep using Emacs as they always have, trimming configs as built‑ins improve.

Configuration, Distributions, and Presets

  • Persistent complaint: too much config needed to get a “modern IDE” experience (tree-sitter, LSP, completion, theming).
  • Suggestions: official presets or “profiles” that turn Emacs into a batteries‑included IDE with one setting.
  • Others argue Emacs is supposed to be hand‑tuned; prebuilt configs (Doom, Spacemacs, Bedrock, Centaur, etc.) already fill this niche.
  • Some users suffer “config bankruptcy” and either adopt Doom/Bedrock or strip back to minimal custom init files.

AI & Agent Integration

  • Several users say they briefly switched to VS Code for AI features but came back after getting Claude and other LLM tools working well in Emacs.
  • Emacs is praised as ideal for LLM‑assisted editing because it’s text‑configurable; agents can generate/maintain init files, though some warn this reduces understanding of one’s own config.
  • Tools mentioned: agent-shell, claude-code-ide, GPT‑related packages, with mixed UX (model switching, missing slash commands, concurrency limits).

Terminal Emulation & Remote Work

  • New terminal package Ghostel draws attention: claimed much faster and more capable than vterm, especially for modern TUIs and AI coding tools; links to benchmark numbers and feature comparisons.
  • Users highlight Ghostel integration with Claude tools (progress spinners, notifications, hyperlinking).
  • Emacs’ TRAMP and emacs‑daemon/emacsclient workflows are cited as long‑standing answers to remote editing and tmux/screen alternatives, though some still prefer VS Code’s remote containers for latency.

Ergonomics, Modal Editing, and Keybindings

  • Recurring issues: “Emacs pinky” and wrist pain from modifier chords; common mitigations include remapping Caps Lock to Ctrl, using thumb modifiers, or hardware like Ergodox.
  • Extensive debate over modal editing:
    • Evil‑mode is widely praised as the best Vim emulation anywhere; some say Emacs “vims better than Neovim.”
    • Others reject modal defaults and dislike Doom/Spacemacs keymaps, wanting non‑Evil setups.
  • Emacs/readline movement keys are valued across shells, browsers, and CLIs; some note loss or breakage in modern GTK/Firefox/Chrome stacks.

Why People Still Use Emacs

  • Long‑time users (decades) say they rely on Emacs as a “toolbox OS” for: coding, org‑mode, Magit, mail, RSS, calendars, note‑taking, spaced repetition, PDF annotation, terminal multiplexer replacement, and even reading Hacker News/Jira/Slack.
  • Many value dense, distraction‑free code views and the ability to keep multiple windows/frames and contexts visible simultaneously.
  • Some claim Emacs with LSP, tree-sitter, and Magit now rivals or surpasses modern IDEs for their work.

Critiques and Limitations

  • Performance complaints: slow startup on macOS, slowness on Windows/macOS without tuning GC/native‑comp, TRAMP latency, and general “jank.”
  • One user objects to native compilation and lexical scope changes on security/complexity grounds; another notes pgtk builds currently require native‑comp, which some see as a bug.
  • A few say Emacs’ mouse experience and GUI feel are poor compared to mouse‑centric editors/IDEs.
  • Others argue that for teams, standardized IDEs still win for out‑of‑box tooling, debuggers, and shared workflows.

Culture and History Notes

  • Several nostalgic asides: Emacs’ age, early TECO/Gosmacs days, and infamous salty comments in old terminal.el preserved in a separate “nasty” file.
  • Many emphasize Emacs as a rare piece of software that has improved steadily for decades while remaining under user control and highly scriptable.