Previews in depth
Select a file, press Enter, and konoma picks the right renderer from its
rule table (see Configuration). q always
goes back. ? shows the keys for the current preview type.
Markdown
Section titled “Markdown”Rendered with headings, full-width rules, tables (with column alignment and inline styles), task lists, code fences (syntax-highlighted), Mermaid fences (drawn as Unicode diagrams), and inline images (local and remote, drawn as real pixels).
- Links:
Tab/Shift-Tabwalk every link and checkbox in the document;Enteropens the focused link — local paths open inside konoma, URLs open in the browser. - Task checkboxes: focus with
Tab, toggle withSpace. The state character is written back to the file — verified against the file on disk first, so it never clobbers a concurrent edit (e.g. by an AI agent). The states cycle throughui.md_task_states(default[ ]⇄[x]; add a custom in-progress state like[/]if you like). - Raw source:
Rtoggles the decorated view against the raw Markdown source, where precise line/column selection works.
Code and text
Section titled “Code and text”Syntax highlighting resolves the grammar by extension, then file name
(.bashrc, Makefile, Dockerfile, …), then first line. Large files stream
through a windowed reader, so multi-hundred-MB logs open instantly.
/searches;n/Njump between matches.- A 2D caret moves with
h j k l;vselects by character,Vby line;ycopies the selection.0/$jump within the line,g/Gto the ends. Ycopies an@path#L12-34reference for the caret or selection.- Files with uncommitted changes get an editor-style git gutter (green added / blue modified / red deleted).
- Wrap is configurable (
ui.wrap); with wrap off, long lines scroll horizontally.
CSV / TSV tables
Section titled “CSV / TSV tables”Comma- and tab-separated files render as an aligned grid with rainbow column colors and a cell cursor:
h j k lmove by cell;g/Gfirst/last row;0/$first/last column.yopens a copy menu: cell, row, column, or full path.- Quoted fields, CJK widths, ragged rows and non-UTF-8 input are all handled; parsing failures fall back to plain text.
Images, SVG, GIF, video, PDF
Section titled “Images, SVG, GIF, video, PDF”Drawn as real pixels via the kitty graphics protocol:
+/-zoom,0/=reset to fit,h j k lpan.- GIFs animate automatically. SVGs rasterize in-process (no external tools).
- Videos show a representative frame via
ffmpegthumbnailer/ffmpeg(optional; a hint appears if neither is installed). Want playback? Delegate tompvwith one config rule. - PDFs render page by page —
J/K(or PageDown/PageUp) turn pages (multi-page needs poppler; the first page works with macOS built-ins alone).
Everything else
Section titled “Everything else”Files matching no rule that look like text open as text; anything else shows a
safe [can not preview] screen. konoma never crashes on unknown input —
add a rule in the config to teach it new formats, including delegation to any
external command.