---
title: Previews in depth
description: Markdown with interactive checkboxes, tables, images, PDF, CSV, code — and how to search, select and copy from all of them.
sidebar:
order: 2
---
Select a file, press `Enter`, and konoma picks the right renderer from its
rule table (see [Configuration](../../reference/configuration/)). `q` always
goes back. `?` shows the keys for the current preview type.
## 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-Tab` walk every link and checkbox in the document;
`Enter` opens the focused link — local paths open inside konoma, URLs open in
the browser.
- **Task checkboxes**: focus with `Tab`, toggle with `Space`. 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 through `ui.md_task_states` (default `[ ]` ⇄ `[x]`; add a
custom in-progress state like `[/]` if you like).
- **Raw source**: `R` toggles the decorated view against the raw Markdown
source, where precise line/column selection works.
## 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` / `N` jump between matches.
- A 2D caret moves with `h j k l`; `v` selects by character, `V` by line;
`y` copies the selection. `0` / `$` jump within the line, `g` / `G` to the
ends.
- `Y` copies an `@path#L12-34` reference 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
Comma- and tab-separated files render as an aligned grid with rainbow column
colors and a cell cursor:
- `h j k l` move by cell; `g`/`G` first/last row; `0`/`$` first/last column.
- `y` opens 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
Drawn as real pixels via the kitty graphics protocol:
- `+` / `-` zoom, `0`/`=` reset to fit, `h j k l` pan.
- 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
to `mpv` with 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
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.