ZenNotes

ZenNotes manual

Docs

The same in-app help, on the web. Quick start, concepts, the full keyboard and : ex reference, and every setting.

Overview

ZenNotes is a keyboard-first, Markdown-first desktop notes app. Your notes stay as plain .md files in a vault you own. Modal editing, Vim motions, split panes, preview, and a bundled MCP server are all first-class.

This page is a live copy of the built-in manual. Press :h or open Help from the sidebar footer to browse the same content inside the app.

Quick start

The shortest path from install to a working vault.

Choose a vault

A vault is just a folder of Markdown files. ZenNotes reads it directly, keeps everything file-based, and never hides your notes behind a database.

Use the three working zones

The sidebar is your navigator, the note list is your current folder or attachments view, and the editor pane is where tabs, splits, preview, and focused writing happen.

Capture, organize, archive

Quick Notes are for fast capture, Inbox is active work, Archive is cold storage, and Trash is recoverable deletion. Archive and Trash open as dedicated main-pane lists so the sidebar stays singular; Quick Notes stays foldable in the sidebar and can also open its own list tab from the context menu.

Stay keyboard-first

Search notes, search vault text, and open the command palette from their configured shortcuts. Use Vim mode for ex commands, pane motion, hint mode, leader hints, link-following, and keyboard-opened context menus. Vault text search can use auto-detected system tools like fzf or ripgrep, custom binary paths, or the built-in searcher.

Insert structure inline

Type / in the editor to open a slash menu for headings, lists, callouts, code blocks, dividers, tables, links, images, and more. Type @ to insert date shortcuts like Today, Yesterday, and Tomorrow as Markdown-friendly ISO dates.

Use the built-in manual

Open Help from the sidebar footer or with :help to browse shortcuts, commands, panel behavior, Vim flows, and settings in one place.

Seed a starter vault tour

Run Generate Demo Tour Notes from the command palette to add a guided set of demo notes under inbox/demo, plus a local attachment. Run Remove Demo Tour Notes to clear them later.

Pick up where you left off

ZenNotes restores the last open tabs, splits, built-in views, and sidebar layout for each vault, and remembers the main window size, position, and maximized state between launches.

Core concepts

How ZenNotes thinks about files, panes, leaders, and keyboard control.

Notes are real Markdown files

ZenNotes edits Markdown on disk. Rename, move, archive, restore, and floating-window operations all work on the underlying files, not an internal copy.

Tabs and splits are first-class

Each editor pane can hold multiple tabs. Split the current tab right or down, move between panes with motions, switch the active note between Edit, Split, and Preview, and use the buffer switcher or :buffers when tabs are hidden. The active tab has a full keyboard context menu — Close Others, Close Right, Pin, Pin as Reference, Open in Floating Window, and Reveal in Finder.

Context menus are part of the keyboard model

ZenNotes treats context menus as keyboard-reachable UI. Use the configured context-menu binding on the selected sidebar or note-list row, or use Shift+F10 / the system Context Menu key to open the active tab menu from the editor.

Sessions restore on relaunch

Workspace restore is saved per vault, while the window frame is global. Reopening ZenNotes brings back your pane layout, open buffers, built-in views, and the last window bounds.

Leader mode can teach itself

If Leader key hints are enabled, pressing Leader opens a which-key style panel that shows the next available actions. Settings let you pick a timed hint or a sticky leader overlay that stays open until you dismiss it.

Tasks, Tags, Archive, and Trash are vault-wide views

Tasks scans every note for checkboxes. Tags lets you browse notes by tag. Archive gives you cold storage. Trash gives you recovery without turning the left rail into a second browser.

Moving notes is path-first

Use the note context menu, the command palette, or :move / :mv to move a note. The move prompt autocompletes folder paths, and the ex command accepts a destination directly like :mv archive/Reference.

Command palette mirrors tab actions

You do not need to remember where a tab action lives. The command palette exposes direct entries for closing, splitting, pinning, referencing, floating-window, and reveal actions.

Slash commands speed up writing

Type / at the start of a line or after whitespace to open an inline insert menu for common Markdown structures: headings, lists, to-do items, callouts, code blocks, dividers, tables, math blocks, links, images, and new-note links.

@ shortcuts insert relative dates

Typing @ in normal text opens date suggestions for Today, Yesterday, and Tomorrow, inserting ISO dates like 2026-04-15 — file-friendly and sortable.

Reference and connections support research-heavy work

Pin a companion note or PDF in the reference pane, then toggle the connections panel to inspect backlinks and unresolved links while you draft.

Zen mode removes chrome

Use the configured Zen shortcut to strip away the title bar, sidebar, note list, tabs, pane headers, side panels, and status bar. Only the active editor, preview, or split view stays visible.

Links are actionable

Use [[wikilinks]] or Markdown links. In normal mode, the follow-link motion opens the link under the cursor, offers to create missing notes, and pins PDFs into the reference pane.

Attachments stay local

Drop files into a note to insert local assets. ZenNotes tracks the attachments folder, can reveal it from the app, and treats PDFs specially in preview and reference workflows.

Math, diagrams, and plots render from plain fences

Inline $…$ and display $$…$$ math render via KaTeX. Four fenced block languages turn into live diagrams: mermaid for flow and sequence; tikz for LaTeX-native coordinate systems (runs on-device); jsxgraph for interactive geometry; and function-plot for Cartesian plotting. Each block is ordinary Markdown on disk.

Footer actions expose utility views

The sidebar footer gives you direct access to Attachments, Help, and Settings, so utility screens stay discoverable.

Destructive actions ask first

Moving a note to Trash asks for confirmation before anything is deleted. The Trash view separates restore from permanent delete.

Keyboard shortcuts

Every binding is remappable in Settings. Mod is on macOS, Ctrl on Windows and Linux.

Global shortcuts

These work across the main app shell.

Mod+P
Search notes Open the note search palette.
Mod+F
Search notes (non-Vim) Open the note search palette directly when Vim mode is off.
Shift+Mod+P
Open commands Open the command palette.
Shift+Mod+N
New Quick Note Create a quick capture note and focus its title.
Mod+,
Open Settings Appearance, editor behavior, fonts, vault controls.
Mod+1
Toggle sidebar Hide or show the left sidebar.
Mod+2
Toggle connections Toggle the connections panel for the active editor pane.
Mod+.
Toggle Zen mode Hide or restore the app chrome.
Mod+W
Close active tab Close the current note or virtual tab.
Alt+Z
Toggle word wrap Switch between wrapped lines and horizontal scrolling.
Esc
Dismiss overlay Close note search or the command palette.

Pane and panel motion

The primary keyboard-first movement patterns. The Vim-style ones assume Vim mode is on.

Ctrl-w h/j/k/l
Move focus Move between sidebar, note list, editor, connections, or adjacent panes.
Ctrl-w v
Split right Clone the current tab into a pane to the right.
Ctrl-w s
Split down Clone the current tab into a pane below.
Space o
Open buffers Show a searchable list of every open buffer across every pane.
Space f
Search notes Open the vault-wide note search palette.
Space s t
Search vault text Fuzzy-search matching text lines across notes.
Space e
Toggle left sidebar Show or hide the folder/tag sidebar.
Space p
Note outline Jump to any heading in the active note.
Space (pause)
Show leader hints Open a which-key style guide if hints are enabled.
Mod+3
Toggle outline panel Show or hide the persistent outline in the active pane.
zc / zo
Fold / unfold heading Collapse or expand the section below the heading at the cursor.
zM / zR
Fold / unfold all Collapse or expand every heading section in the note.
Ctrl-o
Go back Jump to the previous note location in history.
Ctrl-i
Go forward Jump forward in note history.
f
Hint mode Show jump labels for clickable targets when not in insert mode.

Sidebar and list navigation

These bindings work when the sidebar or note list owns focus in Vim mode.

j / k
Move selection Move down or up one visible item.
g g / G
Jump to top or bottom Fast travel to the first or last visible row.
Enter / l
Open item Open the selected note, folder, tag, or built-in row.
h
Collapse or move left Collapse the current folder or move focus back toward the editor.
o
Toggle folder Expand or collapse the selected folder in the sidebar.
/
Search notes Open note search from keyboard navigation mode.
m
Open context menu Open the right-click menu for the selected row.
Esc
Return to editor Drop back into the main editor focus path.

Editor writing aids

Inline completions that appear while you type in the Markdown editor.

/
Open slash commands Insert menu for headings, lists, to-dos, callouts, code blocks, dividers, tables, math, links, images, new page.
Type after /
Filter the insert menu Narrow the slash command list by name, then confirm to insert.
@
Open date shortcuts Inline suggestions for Today, Yesterday, Tomorrow.
Type after @
Filter date suggestions Match by weekday, month, day number, or ISO date fragment.

Preview and connections

These keys apply when reading preview content or the connections panel.

j / k
Scroll preview Move through rendered preview content line-by-line.
Ctrl-d / Ctrl-u
Half-page scroll Move preview content by half a viewport.
g g / G
Jump to top or bottom Go to the start or end of the preview or connections list.
m / Shift+F10
Open active tab menu Close, Split, Pin, Pin as Reference, Floating Window, Reveal.
/
Search notes Open note search without leaving keyboard navigation.
p
Peek backlink In connections, open a hover preview for the selected note.
h / Esc
Back out Return from hover preview to connections, or from connections to the editor.

Tasks, tags, and trash

These virtual views each run their own keyboard loop in the main pane.

j / k
Move row cursor Step through task rows, tagged notes, or trashed notes.
g g / G
Jump to top or bottom Move to the first or last visible result.
Enter / o
Open current result Open the selected source, tagged note, or trashed note.
Space / x
Toggle task Tasks view only: check or uncheck the selected task.
r
Restore trashed note Trash view only.
x / d
Delete forever Trash view only. Asks for confirmation.
/
Filter the view Focus the local filter box.
:
Open local ex prompt Run the view-specific command line inside Tasks or Tags.
Esc
Close or clear Clear the filter first, then close the view on a second press.

Vim ex commands

Run any of these from the : prompt. Tab on the ex line completes commands and supported arguments.

:w
Save the active note Flush the current buffer to disk immediately.
:q
Close the current tab or virtual view Closes the active note or virtual tab (Tasks, Tags, Help, Trash).
:wq
Save and close Writes the current note, then closes it.
:format
Format Markdown Runs Markdown formatting on the active note.
:tasks
Open Tasks Open the vault-wide Tasks virtual tab.
:tag foo bar
Open Tags with a selection Open the Tags view and replace the tag set with the given tags.
:trash
Open Trash Open the built-in Trash recovery view in the active pane.
:split / :vsplit
Split the current tab Clone the active tab down or right.
:edit path / :e path
Open or create by vault path Open a note by vault-relative path; create if needed.
:new [path]
Create a new note No path → new inbox note. With a path → opens or creates exactly there.
:move [folder] / :mv
Move the active note No argument opens the move prompt. With a path like archive/Reference, moves directly.
:bn / :bp
Cycle tabs Move to the next or previous tab.
:buffers / :ls
Open the buffer switcher List the current pane’s open buffers in a searchable overlay.
:bd / :bc
Close the active tab Buffer-delete aliases for the current tab.
:only
Close sibling tabs Keep only the active tab in the current pane.
:qa / :quitall / :xa / :wa
Close every tab everywhere Closes all tabs across all panes.
:help / :h
Open this manual Bring up the built-in Help tab.
:demo_generate / :demo_remove
Seed or remove the demo tour Install or remove onboarding notes under inbox/demo.
:cmd query / :commands
Run or browse palette commands Fuzzy-run the best matching command, or open the palette.
:tab_menu / :tab_close_others / :tab_close_right
Tab-menu actions from the ex line Every palette tab action is also on the : line.
gd
Follow the link under the cursor Open wikilinks, external links, create missing notes, or pin PDFs.
<Tab> on the ex line
Complete ex commands Cycle through registered commands with a wildmenu popup; complete args like :view edit|split|preview.
<Space> l f
Leader-format Format the active note from normal mode.
<Space> (pause)
Show leader hints Which-key overlay for the next available leader actions.
<Space> o
Leader buffer switcher Open every open buffer across every pane.
<Space> f
Leader note search Open the vault-wide note search palette.
<Space> e
Leader toggle sidebar Show or hide the left sidebar.
<Space> p
Leader note outline Searchable list of every heading in the active note.
:outline
Note outline palette Ex-line path to the searchable note outline.
:view edit|split|preview
Switch the active note layout Editor-only, side-by-side split, or preview-only.
:zen [toggle|on|off]
Toggle Zen mode :zen toggles; :zen on / off force a state.
:editmode / :splitmode / :previewmode
Direct mode aliases Single-command aliases for switching the active note layout.
:fold / :unfold
Toggle the heading at the cursor Collapse or expand the section beneath the current heading.
:foldall / :unfoldall
Fold every heading Collapse or expand every heading section at once.

Settings reference

Every setting in ZenNotes, grouped by panel.

Appearance

Theme, mode, and variant
Pick a theme family, light or dark mode, and the active flavor where supported.
Dark sidebar
Tint the sidebar slightly darker than the canvas so chrome reads as a distinct surface.

Editor behavior

Vim mode
Turn CodeMirror Vim bindings on or off for the editor and reference pane.
Leader key hints
Show a which-key style guide after pressing Leader. Available when Vim mode is enabled.
Leader hint behavior
Choose between timed auto-hide or a sticky overlay that stays open until dismissed.
Leader hint duration
When timed, control how long the overlay stays visible and how long the pending sequence remains active.
Vault text search backend
Auto, built-in, ripgrep, or fzf. Auto prefers system tools when installed. Settings shows the resolved runtime backend.
Live preview
Hide Markdown syntax on lines you are not actively editing.
Note tabs
Enable or disable tab-based editing and split-friendly workflows.
Word wrap
Wrap long lines to editor width or let them scroll horizontally.
PDFs in edit mode
Choose between compact PDF cards or full inline PDF embeds.
Date-titled Quick Notes
Name quick notes by date instead of timestamp-based titles.

Typography and layout

Interface, text, and monospace fonts
Choose different fonts for chrome, reading text, and code blocks.
Font size and line height
Tune reading density in the editor and preview.
Reading and editor width
Cap long lines so wide windows stay readable.
Content alignment
Center note content in its column or left-align to the pane edge.
Line numbers
Off, absolute, or relative gutter numbering.

Keymaps

Shortcut overrides
Remap global shortcuts, Vim bindings, panel navigation, and view actions from one place.
Recorded sequences
Capture single shortcuts or multi-step sequences like Leader flows, pane prefixes, g g, g d, or fold motions — no raw config editing.
Context-menu bindings
The same keymap table controls the context-menu action used across the sidebar, note list, and active-tab menu.
Reset controls
Clear an individual override or reset the entire keymap table to shipped defaults.

Vault

Vault location
Reveal or change the root folder ZenNotes treats as the active vault.

About

App identity
App icon, current version, and a short description of ZenNotes.
Lumary Labs
About section links to lumarylabs.com.

Ready to try it?