← mawceron.github.io

justwrite: A page, and nothing else.

Black screen, a centered page, and one line at the foot that tells you where you are.

justwrite open on a draft: a centred page of text with the version, file name and F1 Help on the status line, in the screen theme justwrite open on a draft, in the paper theme: dark ink on a light page justwrite open on a draft, in the mono theme: grayscale on black
justwrite v1.0.0 opening a draft. It follows the theme you pick below.

What is this?

A text editor for writing prose, not code. There are no toolbars, no menus, no line numbers and no frame around the page. Just text, centered, never wider than 82 columns, because lines longer than that are hard to track back to.

Everything the editor knows about itself lives in a single line at the bottom: the version, the document, and the way into the help. This page is set the same way.

One static binary, no cgo, no display server. It runs anywhere you can open a terminal, including a headless writerdeck.

Install

Packages and binaries for Linux, macOS and Windows, for x86-64 and ARM, on the releases page. Swap amd64 for arm64 on a Raspberry Pi or an Apple Silicon Mac.

Debian, Ubuntu

sudo dpkg -i justwrite_*_linux_amd64.deb

Fedora, RHEL, openSUSE

sudo rpm -i justwrite_*_linux_amd64.rpm

Anywhere else

tar xzf justwrite_*_linux_amd64.tar.gz sudo install justwrite /usr/local/bin/

With Go

go install github.com/MawCeron/justwrite@latest

Then open a document: justwrite draft.md

Three themes

Cycle them with ← / → from the help panel (F1). NO_COLOR wins over all three. Try them on this page:

screenThe default. Pure ANSI, 0 to 15: it adopts the colour scheme your terminal already has. paperDark ink on an actual light page, not just recoloured text. For e-ink writerdecks and direct sunlight. monoGrayscale ANSI, for terminals with no truecolor.

Learn them once

Every action is a keyboard shortcut; you learn them once and they disappear.

help
savectrl+s
open a filectrl+o
new documentctrl+n
quitctrl+q
undoctrl+z
redoctrl+y
select allctrl+a
copyctrl+c
cutctrl+x
pastectrl+v
statsctrl+t
findctrl+f
jump a wordctrl+←→
delete a wordctrl+w
extend selectionshift+↑↓←→
scroll a pagepgup/pgdn
jump to start or endctrl+home/end
insert 4 spacestab
helpf1
←→ theme

Undo works in bursts: one Ctrl+Z takes back a word, not a letter.

Details worth knowing

Saving is atomic. Writes go to a temporary file beside the document and are renamed into place, so a failed save leaves the previous draft intact.

Unsaved changes survive a crash. A hidden swap file is written every few seconds while there is something unsaved. If it is newer on the next open, justwrite offers to recover it.

Text is measured in terminal cells. CJK text, emoji and combining marks stay inside the page, and the cursor, selection and Backspace step over whole characters, never half of one.

Saving follows symlinks. A document opened through a link is written to what the link points at, and the link stays.

Only UTF-8 files open. Anything else, such as Latin-1 or Windows-1252, is refused with the reason instead of being rewritten with replacement characters on the next save.

The clipboard travels. Copying works over SSH and inside tmux, with no display server.

It notices when a file changes. If the file changed on disk, Ctrl+S stops and offers three ways out: reload, overwrite, or save as.

MIT © 2026 Mauricio Cerón · source · changelog · issues

v1.0.0justwrite.md
F1 Help