
The XDA piece about writing inside the terminal sounded absurd to a lot of readers, and then a surprising number of them tried it. The pitch holds up: once you’re already living in a shell for coding, jumping to a GUI word processor for a blog post or a report just adds friction. Terminal writing tools have quietly gotten good. Some are dedicated TUI word processors, some are code editors with prose plugins, and one is Emacs, because it is always Emacs. We tested eight desktop apps for terminal-based writing to see which ones actually beat opening Google Docs.
What to look for in a terminal writing tool
The stack for terminal writing is small and each piece has to earn its place:
- Word wrap that behaves. A code editor breaks lines on characters. A writing tool wraps by word, preserves visual paragraphs, and does not corrupt line endings when you copy across systems.
- Undo history that survives the session. Losing 40 minutes of drafting to a wrong keystroke is a specific pain of unprepared vim setups. Look for persistent undo or automatic backup.
- Prose-friendly navigation. Jump by sentence, paragraph, section. Vim and Emacs both have these motions; most GUI editors don’t.
- Spellcheck. Terminal editors either use
hunspelloraspellunder the hood, or nothing. Nothing is a bad default for writing. - Export. A finished draft usually ships as Markdown, HTML, PDF, DOCX, or plain text. The best tools handle this in one command.
- Distraction-free mode. Full-screen focus with the syntax highlighting turned down or off. This is where terminal writing shines: no notifications, no docks, no browser tabs.
- Cross-platform. Windows Terminal, Windows Subsystem for Linux, macOS Terminal, iTerm, and any Linux terminal should all work. Anything that requires a specific TTY is a red flag.
Quick comparison
| Tool | Best for | License | Notable |
|---|---|---|---|
| WordGrinder | Dedicated TUI word processor | GPL | Zero code-editor DNA |
| Neovim + vim-pencil | Modal writing with plugins | MIT | Goyo + Limelight combo |
| Emacs Org Mode | Long-form structured writing | GPL | Exports to LaTeX, HTML, DOCX |
| Micro | Beginner-friendly TUI editor | MIT | Mouse support, easy config |
| Helix | Modern modal editor with LSP | MPL 2.0 | Tree-sitter selections |
| Kakoune | Object-first modal editor | Unlicense | Multi-selection prose ops |
| nano | Quick edits, no learning curve | GPL | Comes with everything |
| Zk | Zettelkasten notebook in shell | GPLv3 | Tag search, backlinks |
The apps
1. WordGrinder, best dedicated TUI word processor
WordGrinder by David Given is the tool built specifically for the job. It is a word processor, not an editor: paragraphs, styles, footnotes, tables, spellcheck, and export to Markdown, HTML, LaTeX, ODT, DOCX, or plain text, all from a curses UI. Zero code-editor DNA. Opens in half a second on any machine.
Where it falls short: The document format (.wg) is proprietary until you export. There is no live preview, no LSP, no plugin system. What you see is what you get, deliberately.
Pricing: Free, open source (GPL).
Platforms: Linux, macOS, Windows, BSD.
Download: Cowlark.com/wordgrinder
Bottom line: The clearest single-purpose choice if you refuse to configure anything and just want to write.
2. Neovim with vim-pencil and goyo, best modal writing setup
Neovim paired with vim-pencil (soft wrapping, spellcheck defaults, prose motions), goyo.vim (centered full-screen mode), and limelight.vim (dim inactive paragraphs) turns Neovim into a distraction-free writing environment that still respects vim muscle memory. Add wiktionary.vim for definitions and you have a real writing station.
Where it falls short: Initial setup takes an evening. If you already use Neovim for code, the same key bindings and plugins in a writing session take a beat to context-switch.
Pricing: Free, open source (Apache 2.0).
Platforms: Linux, macOS, Windows.
Download: Neovim.io
Bottom line: The strongest option if you already live in Neovim for code and want prose to feel the same.
3. Emacs Org Mode, best all-in-one system for writers
Emacs Org Mode is the writing environment for people who want the outline, the drafting, the citations, the bibliography, the task list, and the export pipeline in one place. Exports cleanly to LaTeX (via ox-latex), HTML, DOCX (via ox-odt and pandoc), and Beamer for slides. Zettelkasten via org-roam. Everything is plain text under the hood.
Where it falls short: Emacs is the learning curve. Even packaged as Doom Emacs, the initial ramp is steep enough that plenty of people bounce. Distraction-free mode (writeroom-mode) needs installing.
Pricing: Free, open source (GPL).
Platforms: Linux, macOS, Windows.
Download: OrgMode.org
Bottom line: The pick for academics and long-form writers who can spend a week on setup for years of payoff.
4. Micro, best beginner-friendly TUI editor
Micro feels like nano or a lightweight GUI editor, but with more capability under the hood: multiple cursors, syntax highlighting, plugin system, mouse support, a real config file. For writers without vim or Emacs experience, this is the flattest learning curve to a working terminal setup.
Where it falls short: No native prose mode. You’ll rely on soft wrap plus the spellcheck plugin, and export is whatever pandoc gives you.
Pricing: Free, open source (MIT).
Platforms: Linux, macOS, Windows.
Download: Micro-editor.github.io
Bottom line: The right first step for anyone new to terminal writing who does not want to learn vim.
5. Helix, best modern modal editor
Helix is the modal editor built after Kakoune, with tree-sitter selections, an LSP client baked in, and configuration through a small TOML file. For writing, tree-sitter is genuinely useful: selecting a full paragraph or sentence works out of the box, not via a plugin. Distraction-free mode is a single command.
Where it falls short: Younger project than vim or Kakoune. Some prose-adjacent plugins from those ecosystems have no direct equivalent yet.
Pricing: Free, open source (MPL 2.0).
Platforms: Linux, macOS, Windows.
Download: Helix-editor.com
Bottom line: Try this if you want modal editing without a decade of vim baggage.
6. Kakoune, best object-first modal editor
Kakoune flips vim’s grammar: you select first, then act. For prose, that maps to “select a sentence, delete it” or “select every paragraph containing X, join them”, which is a natural workflow for revision. Multi-selection editing lets you fix repeated words across a whole essay in one operation.
Where it falls short: The paradigm shift from vim is real. Ecosystem is smaller. If you’re deep in vim, sticking with Neovim is likely the better long-term bet.
Pricing: Free, open source (Unlicense).
Platforms: Linux, macOS, Windows via WSL.
Download: Kakoune.org
Bottom line: The most interesting design for revision-heavy writing. Not for everyone.
7. nano, best zero-setup option
nano ships with every mainstream Linux distribution, macOS, and Windows Subsystem for Linux. Word wrap, cut/paste, search/replace, undo, spellcheck via a system speller. That covers a surprising amount of quick drafting when you’re SSH’d into a box and just need to get words down.
Where it falls short: No modal editing, no plugins, no export pipeline. Undo history is per-session only. For anything longer than a page you’ll want a real tool.
Pricing: Free, open source (GPL).
Platforms: Linux, macOS, Windows.
Download: Nano-editor.org
Bottom line: The right choice on someone else’s server or a broken laptop where installing anything is a pain.
8. Zk, best Zettelkasten notebook
Zk by Mickaël Menu is a CLI-first Zettelkasten tool: it manages a folder of plain Markdown notes with tag search, backlinks, and a full-text index, and it hands off editing to your terminal editor of choice (vim, Neovim, Helix, Micro, all supported). If your writing is note-taking that assembles into essays, this is the plumbing that keeps a thousand notes navigable.
Where it falls short: Not an editor itself, so you still need one of the others above. Setup involves creating a notebook and understanding tag conventions.
Pricing: Free, open source (GPLv3).
Platforms: Linux, macOS, Windows.
Download: GitHub.com/zk-org/zk
Bottom line: The natural knowledge-management layer under a terminal writing setup.
How to pick the right one
- If you want to install one thing and start writing tomorrow: WordGrinder.
- If you already use Neovim for code: Neovim with vim-pencil, goyo, and limelight.
- If you’re an academic, a technical writer, or a heavy footnoter: Emacs Org Mode.
- If you avoid modal editors and want a friendly TUI: Micro.
- If you want modal without vim’s history: Helix.
- If revision-heavy writing (essays, editing) is most of your work: Kakoune.
- If you’re editing a config over SSH and just want it done: nano.
- If your writing is really note-collection that assembles into essays: Zk as the index, one of the editors above for the editing.
FAQ
Can you actually write a book in the terminal?
Yes. WordGrinder is used for full manuscripts (its author wrote his own books in it), Emacs Org Mode exports to LaTeX and DOCX for publishers who accept them, and Neovim with vim-pencil supports the same drafting → export → review cycle as any GUI word processor.
What about grammar checking, not just spelling?
Terminal editors integrate with ltex-ls (a LanguageTool language server) via LSP. Neovim, Helix, and Emacs all handle this. Grammar checking through write-good.nvim and proselint covers common style problems too.
How do I get a distraction-free mode?
WordGrinder is already distraction-free by design. Neovim uses goyo.vim. Emacs uses writeroom-mode. Helix opens borderless in a full-screen terminal by default. Micro, Kakoune, and nano rely on running your terminal itself in full-screen (Alt+Enter on Windows Terminal, ⌘⌃F in iTerm, F11 in most Linux terminals).
Do these work with tmux?
All of them. tmux is where terminal writing shines: one pane for the editor, one for a live-preview Markdown renderer (glow, mdcat), one for notes.
Does terminal writing work on Windows?
Yes. Windows Terminal + WSL 2 covers every tool on this list except WordGrinder, which also ships a native Windows build. PowerShell alone works for nano and Micro; the rest need WSL.
Is Markdown the right format for this?
Markdown is the pragmatic default (nearly every editor above renders it, and export pipelines handle it well). Org mode is stronger for people who commit to Emacs. WordGrinder’s own format is fine as long as you export before sharing. Plain text is fine for anything under a few pages.