The Anvil Text Editor

Anvil is a new text editor inspired by Plan 9’s Acme, aiming to modernize that mouse-centric, windowed workflow with features like syntax highlighting, multiple cursors, SSH-based remote editing, and a REST API for extensibility. Commenters are intrigued by its Acme-like range language and UI, but divided over its reliance on mouse interaction and the absence of modern tooling such as LSP and tree-sitter, which many now see as essential. There is also interest in how Anvil fits into the broader landscape of niche editors (alongside tools like Kakoune, Helix, and vis) and whether such experiments can meaningfully improve on established options like Vim, Emacs, and VS Code.

Positioning, inspirations, and goals

  • Anvil is framed as an Acme-inspired editor with modern touches (Go/Gio UI, syntax highlighting).
  • Some see it as part of a “new generation” of niche editors (with Lem, Helix, Kakoune, etc.), potentially exploring different workflows than Vim/Emacs/VS Code.
  • A few ask explicitly how it differentiates from Acme and whether it’s just a clone vs. solving new problems.

Features and architecture

  • Notable features mentioned:
    • REST API for extensions and automation.
    • Multiple cursors and selections tied to a “Range Statements” language similar to Sam’s structural regexes.
    • Remote editing via SSH using user@host:/path filenames.
    • Easier keyboard use than Acme (arrow-key movement, shift-selection, shortcuts to execute words/lines).
    • Better handling of filenames with spaces and special “lozenge” delimiters for commands/search terms with spaces.
    • Backwards searches via clicking and some usability borrowings from Wily/Acme variants.
  • Source is available as downloadable archives under an MIT license, but there is no obvious public VCS repo.

Missing/desired capabilities

  • Multiple commenters flag the absence of LSP and tree-sitter as a major gap for modern development workflows.
  • Others request Vim-style motions, keyboard-centric navigation, and hint-based UI activation (like OniVim’s “sneak” or link hints).
  • One person suggests WebAssembly compilation for in-browser embedding.

Mouse vs. keyboard and workflow philosophy

  • Strong debate over mouse-centric Acme-style workflows versus keyboard-centric Vim/Emacs styles.
  • Some argue mouse selection and navigation are fast and cognitively lighter; others find constant mousing imprecise and tiring compared to keybindings and search-based movement.
  • There is broader reflection on editing “strategies,” macros, structural regexes, and how multi-cursor editing changes workflows.

Multiple cursors vs. regex/macros

  • Long subthread comparing:
    • Multiple cursors (visual, incremental, immediate feedback)
    • Regex search/replace and structural regexes
    • Macros and repeat commands (especially in Vim/Emacs).
  • Some deem multiple cursors essential and faster; others find them visually confusing and prefer macros/regex with previews.
  • Neovim’s upcoming native multi-cursor support and existing tools like vis, Kakoune, and plugins are mentioned as context.

Usability issues and concerns

  • Some users struggle to open local files or even run the binary on macOS (process killed despite quarantine removal).
  • The HTTPS site reportedly triggers malware warnings for a few.
  • A user on Mac without a mouse finds onboarding hard and asks for a video tutorial.