onon

A quiet reader for the keyboard

onon (said oh-non) is a small, fast PDF viewer. It opens at the page you were reading and does what you ask of it from a few keys. It is built on MuPDF, configured in Lua, and runs on macOS, Windows and Linux.

This page behaves as onon would. j and k scroll it, J goes to the next page, / searches and F follows a link.

The keys

j and k scroll, J and K turn the page, and / searches. Counts, marks and the jump list work as they do in Vim. F puts a short label on every link, and typing the label follows it. The ordinary Cmd and Ctrl shortcuts work as well, for when your hand is already on the mouse.

Where you left off

Each window holds one document, at its own place and zoom. Close it, come back a week later, and it opens on the same line, with your marks and highlights where you put them. It reads EPUB, comic book archives and images as well.

Lua

Settings are a few lines of Lua. You can change an option, bind a key to a function of your own, or write a plugin with its own commands, events, timers and background jobs. A theme can be one accent colour, or it can redraw every panel.

-- ~/.config/onon/config.lua
onon.o.dual_page = true
onon.theme = "moss"
onon.theme.font = { family = "Iosevka", size = 15 }
onon.bind("<C-d>", onon.next_page)
onon.bind("r", function()
  onon.rotation(onon.rotation() + 90)
end)

Pick one and this page takes its colours, or type :theme birch. Pressing Ctrl-R switches to its dark colours, as it does in onon.

Beside your editor

Each window answers for its own document. When you rebuild a paper, the open window reloads it, and Neovim, VS Code or any editor that can run a command can send it to a line.

onon --unique --goto 42:100:250 paper.pdf

Download

Version 0.9.4, released 2026-10-22. Release notes and every release.

onon is free software under the AGPL, built on MuPDF. It was called gopdf until 0.8.0: see what changed.

It takes its name from Onon, an island in the West Reach of Ursula K. Le Guin's Earthsea. You can find it on her map of the archipelago.