Writing and formatting
Text styles, lists and tasks, code blocks, the insert menu, block handles and Undo.
Click and type
Pages open in Visual and are editable right away — there is no Edit or Publish step. Placing the caret or selecting text changes nothing; only an actual edit does, and Kirbon saves it about a second after you stop typing.
Editing feels like any Mac text editor: spelling and grammar, text substitutions, dictation, input methods, Services and per-page Undo all work.
Text styles
| Style | Menu and shortcut | Or type at the start of a line |
|---|---|---|
| Paragraph | Format ▸ Paragraph ⌥⌘0 | — |
| Heading 1–4 | Format ▸ Heading ⌥⌘1–⌥⌘4 | # to #### and a space |
| Quote | Aa ▾ ▸ Quote | > and a space |
| Code block | Aa ▾ ▸ Code Block | ``` and Return |
Inline: Bold ⌘B, Italic ⌘I, Strikethrough ⇧⌘X, and inline code — Format ▸ Code, or type text between backticks. The formatting controls in the toolbar show what’s on at the caret.
Hide the formatting controls with View ▸ Hide Formatting Controls if you prefer a calmer toolbar — selecting text then shows a small toolbar right above the selection.
The insert menu
Type / at the start of a line (or after a space) to open the insert menu. Keep typing to filter, use the arrow keys, press Return to insert.

The menu has Text and Heading 1–3, the three kinds of lists, Table, Code block, Quote, Divider, Image…, File… and the five callouts. The same blocks are in the toolbar’s Insert ▾ and in the Insert and Format menus.
Lists and tasks
- Type
-,*,1.or[ ]at the start of a paragraph to start a bulleted, numbered or task list. - Return adds an item; Return on an empty item ends the list.
- ⇥ indents an item under the one above, ⇧⇥ outdents it.
- Click a checkbox or press ⌘↩ (Toggle Task) to tick a task.
- Numbered lists renumber themselves when you add, remove or move items.
- Format ▸ Bulleted List, Numbered List and Task List turn the selected paragraphs into a list, change a list to another kind, or turn the selected items back into paragraphs.
- ⌫ at the start of an item moves a nested item out one level, and turns a top-level item into a paragraph.
Code blocks
Code blocks are edited in place. Text is written literally — no smart quotes, no autoformat, no spelling marks. ⇥ inserts a tab. Hover the block to pick its language from a list, copy the code in one click, or turn on line numbers (a display setting that is never written to the file).

Blocks and handles
Hover a block to see two controls in the margin: + inserts a new block below it, and the handle lets you drag the block somewhere else on the page. Click the handle for Move Up, Move Down, Copy and Delete.
From the keyboard, Move Block Up and Move Block Down (⌃⌘↑ ⌃⌘↓) move the block at the caret — a list item moves with its sub-items. Esc selects the block around the caret; then ⌫ deletes it and ⌘C copies it.
Headings and their links
Hover a heading to see its anchor: click it to copy a link to that heading, ready to paste on another page. Headings 5 and 6 can be written in Markdown; Visual offers Heading 1–4.
Footnotes and other inline content
Footnote references show as superscript numbers and their notes are listed at the end of the page. Footnotes, inline HTML, inline images, hard line breaks and escaped characters behave as single characters while you type: you can delete or move them, and they are written back exactly as they were.
Undo
Undo works per page, in steps you’d expect: one per typing pause, one per formatting command. It is shared between Visual and Markdown, so you can switch views and still undo.
Content Kirbon keeps as it is
Some Markdown can’t be edited visually without risk: HTML blocks, front matter, HTML comments and unknown extensions such as Mermaid diagrams. Kirbon shows them as labelled read-only blocks — for example “HTML block · 6 lines” — with Edit in Markdown. They are always written back byte for byte. See Markdown compatibility.