Feature index
A single scannable index of every user-facing capability in ZenNotes, grouped by domain. Each row lists the fastest way to reach a feature — a shortcut, ex command, command-palette entry, slash command, Settings path, or CLI command — so you can confirm a feature exists and use it without reading prose.
How to use this index
Press Cmd+F (macOS) or Ctrl+F (Windows/Linux) to search this page for a feature name, a shortcut, or an ex command. Each group below covers one domain; jump to the matching group, then scan its table.
Mod means Cmd on macOS and Ctrl on Windows/Linux. Bindings shown are defaults — every shortcut, Vim binding, and sequence is remappable in Settings → Keymap. Leader bindings (Space prefix) and ex commands (typed after :) require Vim mode; the equivalent command-palette entry works in any mode.
Many features have more than one access path. Where that is true, the row lists all of them: shortcut and ex command and palette entry. Use whichever fits your current context.
Feature groups at a glance
Six domains. Jump to the one that matches what you are looking for.
Editing, rendering & writing aids
Markdown editor and view modes, live preview, slash and @ menus, wikilinks, folding, math, diagrams, callouts, tables, code blocks, comments, find & replace, and formatting.
Editing
Workspace, panes & navigation
Sidebar, note list, panels, tabs, splits, reference panes, palettes, zen mode, theme switching, floating windows, and session persistence.
Workspace
Notes lifecycle, organization & views
Inbox, Archive, Trash, Quick Notes, Tasks, Tags, templates, daily and weekly notes, folders, assets, and all create/rename/move/duplicate/delete operations.
Notes
Keyboard system, Vim & commands
Global shortcuts, the Vim leader and which-key system, pane motions, ex commands, list navigation, and command-palette categories.
Keys
Settings & appearance
Themes, typography, editor behavior, vault location, daily/weekly notes, system folder labels, and the keymap editor.
Settings
Integrations & platforms
zen CLI, MCP server and tools, Raycast extension, the Go server, remote vaults, PDF export, and app updates.
Integrations
Editing — view modes
Switch how the active note is shown. Each mode has a shortcut, an ex command, and a palette entry.
Mod+4
Edit mode — raw markdown editor
Also :editmode or :view edit; palette 'Switch to Edit Mode'. Vim leader Space e f context.
Mod+5
Split mode — editor + live preview side by side
Also :splitmode or :view split; palette 'Switch to Split Mode'.
Mod+6
Preview mode — read-only rendered view
Also :previewmode or :view preview; palette 'Switch to Preview Mode'. Navigate with j/k, Ctrl+D/Ctrl+U.
:view
Set pane mode from the ex line
:view edit | split | preview. Per-pane and per-note persistent.
Editing — inline authoring aids
Insert structure and resolve links without leaving the keyboard.
/
Slash insert menu — headings, lists, code, table, callout, math, link, image, divider, new page
Type / at line start or after whitespace, then filter.
@
Date shortcuts — insert Today / Yesterday / Tomorrow as ISO dates
Type @ then a label (e.g. @today, @tomorrow). Searchable by weekday or month name.
[[
Wikilink autocomplete — link notes, paths, and assets
Type [[target]] or [[target|label]]. Filters notes, images, PDFs, SVGs.
gd
Follow link / go-to-definition (Vim)
Cursor on a wikilink, URL, or PDF, then gd. Or click in Edit/Split. URLs open externally; PDFs pin as a reference. Palette 'Follow link'.
#tag
Hashtag link — clickable inline tag
Type #tag (letters after #, slashes allowed for hierarchy). Click in preview to open Tags view.
![[ ]]
Embed image / asset inline
 or ![[path]]; or paste/drop an image. SVGs and PDFs embeddable.
Ctrl+Space
Open autocomplete manually
Context-aware sources for /, @, and [[. Esc dismisses.
Editing — formatting, folding & cleanup
:format
Format markdown with Prettier
Also Vim leader Space l f; palette 'Format Markdown'. proseWrap preserved.
Inline Bold
Wrap selection: bold, italic, strikethrough, code, link, image
Palette entries 'Inline Bold/Italic/Strikethrough/Code', 'Insert Link'. Bindings configurable in Settings → Keymap.
zc / zo
Fold / unfold heading at cursor (Vim)
Also :fold / :unfold; palette 'Fold/Unfold Heading at Cursor'. Or click the inline fold arrow on hover.
zM / zR
Fold all / unfold all headings (Vim)
Also :foldall / :unfoldall; palette 'Fold All' / 'Unfold All'. Fold state is per-session.
Alt+Z
Toggle word wrap
Palette 'Enable/Disable Word Wrap'. Off requires horizontal scroll.
Tab
Indent / nest list item (Shift+Tab de-indents)
Ordered lists auto-renumber on insert, delete, and paste.
Mod+Z
Undo (Mod+Shift+Z / Ctrl+Y to redo)
Per-pane history. Also via context menu.
Copy / Fold
Code block toolbar — copy to clipboard or collapse
Hover a code block in Preview or Split. Fold state persists per note.
Editing — rendering, math & diagrams
Markdown rendering features. All are GFM-based and theme-aware; diagrams expand to a pan/zoom modal.
$ … $
Math (KaTeX) — inline $…$ and display $$…$$
Display block also via / slash menu → Math block.
```mermaid
Mermaid diagrams — flowchart, sequence, state, ER, Gantt, pie, git
Theme-aware, lazy-loaded. Expand for pan/zoom.
```tikz
TikZ / PGF vector diagrams
Lazy-loaded; theme-aware SVG; expandable.
```jsxgraph
JSXGraph interactive geometry & graphs
Points, lines, functions, animations; expandable.
```function-plot
function-plot 2D function graphs
JSON config (e.g. {"data":[{"fn":"sin(x)"}]}); expandable.
```lang
Code block syntax highlighting
Triple backticks + language tag (200+ languages). Also / slash menu → Code block.
| a | b |
GFM tables with alignment
Use :--- / ---: / :---: for left/right/center. Also / slash menu → Table.
> [!note]
Callout blocks — note, tip, warning, danger, and more
Also / slash menu → Callout. Type sets icon and color.
- [ ]
Task checkboxes (GFM) — click to toggle in preview
Feed the Tasks view.
~~text~~
Strikethrough
Also via inline strikethrough command.
> quote
Blockquote
Also / slash menu → Quote.
[^1]
Footnotes with auto backrefs
Define [^1]: text elsewhere in the note.
---
YAML/TOML frontmatter (hidden in preview)
--- … --- (YAML) or +++ … +++ (TOML). Holds metadata and template variables.
F
Diagram modal — pan, zoom (+/-), fit (0), full-screen (F)
Click Expand on any diagram. Drag to pan, scroll to zoom, open in a tab.
Editing — search, comments & PDF
Mod+F
Find & replace in the current note
Tab to Replace; toggle case / regex / whole-word. Edit and Split modes only. (Non-Vim mode: Mod+F is note search instead — see Search.)
Mod+Shift+C
Comments panel — annotate selected text
Select text, open Comments, '+' for New Comment, Mod+Enter to save. Navigate with j/k; e edit, r resolve, d delete. Also select text + m in editor.
:outline
Heading outline palette — jump to any heading
Also Mod+3 toggles the outline panel; Vim leader Space p; palette 'Open Note Outline'.
[label](file.pdf)
Embed a PDF; pin it as a reference (desktop)
Right-click embed → 'Open as Reference (Global)' or '(This Note)'; or gd on the link. Render style set in Settings → Editor → PDFs in edit mode.
Workspace — panels & layout toggles
Show, hide, and arrange the chrome around the editor.
Mod+1
Toggle sidebar (folders, notes, tags)
Also Vim leader Space e; palette 'Toggle Sidebar'.
Mod+2
Toggle connections panel (backlinks)
Palette 'Toggle Connections Panel'. Navigate with j/k, Enter/o, p to peek.
Mod+3
Toggle outline panel (headings)
Also Vim leader Space p; palette 'Toggle Outline Panel'.
Mod+.
Toggle Zen mode (distraction-free)
Also :zen toggle | on | off; palette 'Enter/Exit Zen Mode'. Hides all chrome.
Mod+W
Close active tab or virtual view
Also :q / :bd / :bclose; palette 'Close Tab'. Closes Tasks/Tags views too.
Toggle
Toggle note list column
Palette 'Toggle Note List Column'. Button in note list header. Hidden in unified sidebar mode.
Workspace — panes, tabs & splits
Multi-pane editing. Split and pane commands work via Vim Ctrl+W, ex commands, and the palette.
Ctrl+W v
Split right — clone tab into a new right pane (Vim)
Also :vsplit / :vs; palette 'Split Right'.
Ctrl+W s
Split down — clone tab into a new pane below (Vim)
Also :split / :sp; palette 'Split Down'.
Ctrl+W h/j/k/l
Focus pane left/down/up/right (Vim)
Wraps to sidebar/panels at edges. Ctrl+W Ctrl+h/j/k/l also works.
:only
Close other tabs in pane
Palette 'Close Other Tabs in Pane'; context menu on tab. Pinned tabs survive.
Pin Tab
Pin a tab so it survives bulk-close
Palette 'Pin Tab'; right-click tab. Pinned tabs stay at the front.
Close Right
Close tabs to the right
Palette 'Close Tabs to the Right'; context menu on tab.
Drag divider
Resize pane split
Persists in the saved layout.
Workspace — reference pane & floating windows
Pin Reference
Pin active note as a side-by-side reference
Palette 'Pin Active Note as Reference'; right-click tab. One pinned reference at a time; per-note pin overrides global.
Show Reference
Toggle reference pane visibility without unpinning
Palette 'Show/Hide Reference Pane'; eye icon in the pane header.
Mod+Alt+E
Toggle reference pane edit/preview mode
Button in the pinned pane header. Drag the left edge to resize.
Floating Window
Open a note in a separate window (desktop)
Palette 'Open in Floating Window'; right-click note or tab. Independent editing state and Vim mode.
Workspace — palettes & search
Fast finders. Each has a shortcut and a Vim leader binding.
Mod+P
Search notes — fuzzy by title and path
Vim leader Space f; non-Vim alias Mod+F; palette 'Search Notes'. Supports inline #tag filtering.
Mod+Shift+P
Command palette — run any command
Also :cmd <query> (runs best match) or :commands (always opens). Switches to theme and vault modes.
Mod+Shift+F
Vault text search — full-text across notes
Vim leader Space s t; palette 'Search Text in Vault'. Backend: Auto / built-in / ripgrep / fzf (Settings → Editor).
Space o
Buffer switcher — all open tabs (Vim)
Also :buffers / :ls; palette 'Open Buffer Switcher'.
Space v
Vault switcher (Vim, desktop)
Palette 'Switch Vault'. Lists local and remote vaults.
Workspace — appearance & navigation extras
Mod+= / Mod+- / Mod+0
Zoom in / out / reset app UI
Palette 'Zoom In/Out', 'Reset Zoom'. Persists across sessions.
Themes
Theme switcher with live preview
Mod+Shift+P → 'Themes'; or Settings → Appearance. Esc reverts the preview.
Alt+Left / Mod+[
Tab history back / forward (Mod+])
Vim Ctrl+O / Ctrl+I; Vim leader Space [ / Space ]; palette 'Go Back' / 'Go Forward'.
f
Hint mode — jump labels for clickable targets (Vim)
Works in editor, preview, and panels.
Hover / Space
Hover preview peek of a linked note
Hover a wikilink, or press p (Space) on a connections-panel row.
Click image
Preview image lightbox — zoom, pan, prev/next
Closes on Esc or click-outside.
Notes — built-in views
Special views that gather notes and tasks across the vault.
:tasks
Tasks view — all checkboxes, List/Calendar/Kanban
Vim leader Space t (per binding); palette 'Open Tasks'; sidebar. Switch modes with 1/2/3. Toggle a task with Space or x.
:tag
Tags view — browse and filter by tag
:tag foo bar pre-selects tags; Vim Space # ; palette 'Open Tags'; sidebar. Union (ANY) matching.
:trash
Trash view — restore (r) or delete (d/x)
Palette 'Go to Trash'; sidebar. 'Empty Trash' clears all.
Mod+Shift+N
Quick Notes (Inbox) view / new quick note
Also Space z or Space q; palette 'New Quick Note'. Press n in the view to add. Naming set in Settings → Editor.
Inbox
Inbox view — primary active notes
Sidebar 'Inbox'; palette 'Go to Inbox'. Sort, filter, group by kind, multi-select, drag-drop.
Archive
Archive view — inactive notes
Sidebar 'Archive'; palette 'Go to Archive'. Press u to unarchive, d to trash.
Files
Files / Assets view — images, PDFs, media
Sidebar 'Files'; palette 'Go to Files'. Grid or list layout; open in tab or reference pane.
Notes — create, template & journal
:new
New note (Inbox or vault root)
:new <path> for an explicit location; palette 'New Note in Inbox' / 'New Note in Vault Root'.
:e <path>
Open or create a note by path
:edit inbox/Work/note.md. Creates missing folders.
New in Folder
New note in the current folder
Palette 'New Note in Current Folder'; folder context menu.
:template
New note from template (picker or by name)
Also :tmpl; Vim leader Space t; Mod+Shift+T; palette 'New Note from Template'. Variables: {{title}}, {{date}}, {{time}}, {{week}}, {{cursor}}.
Save as Template
Save the current note as a custom template
Palette 'Save Current Note as Template'; Space Shift+T. Stored in .zennotes/templates/.
:daily
Open today's daily note
Vim leader Space d; Mod+Shift+D; palette 'Open Today's Daily Note'. Requires daily notes enabled in Settings → Vault.
:weekly
Open this week's note (YYYY-Www)
Vim leader Space w; Mod+Shift+W; palette 'Open This Week's Note'. Requires weekly notes enabled in Settings → Vault.
Notes — manage, move & organize
:mv
Move note to a folder
Also :move; Mod+M; palette 'Move Note to Folder'; context menu 'Move…'. Interactive folder autocomplete.
Rename
Rename note (filename only)
Palette 'Rename Note'; context menu 'Rename…'. No / or \ allowed.
Duplicate
Duplicate note in place
Palette / context menu 'Duplicate'. Appends ' (copy)'.
Mod+Shift+A
Archive note
Palette 'Archive'; context menu. Unarchive moves it back to Inbox.
Trash
Move note to Trash (soft delete)
Palette 'Move Note to Trash'; d in list views; context menu. Restore from Trash view.
Copy Wikilink
Copy note as [[Title]]
Palette 'Copy Note as Wikilink'; context menu.
Copy Path
Copy relative or absolute note path
Palette 'Copy Note Path' / 'Copy Note Absolute Path'; context menu.
Reveal
Reveal note in Finder / File Explorer (desktop)
Palette 'Reveal Note in File Manager'; context menu 'Reveal in Finder'.
Notes — folders, tags & assets
Create Folder
Create / rename / delete a folder
Sidebar context menu; Settings → Folders. Supports nested paths like Inbox/Work/Projects.
Set Icon
Assign an emoji icon to a folder
Sidebar right-click → 'Set icon'. Persisted per vault.
Rename Tag
Rename or delete a tag across the vault
Palette 'Rename Tag…' / 'Delete Tag…'. Updates every note.
Drag-drop
Import markdown by dropping files on the window
Desktop opens in place; web creates a new note. Filename becomes the title.
Paste / Drop
Attach images, PDFs, and documents
Stored under the vault assets directory by folder context. Manage in the Assets view.
Notes — task metadata & sorting
Annotate task lines inline; tasks are parsed across all notes.
due:YYYY-MM-DD
Task due date
Past = overdue (Today group); future = Upcoming. Also frontmatter due:.
!high / !med / !low
Task priority (also !h / !m / !l)
Sorts Today and Waiting groups. Also frontmatter priority:.
@waiting
Mark a task as waiting
Grouped separately, below Today/Upcoming.
#tag
Tag a task
Filterable in the Tasks view and via the CLI/MCP.
Sort
Sort note list — name, updated, created, or manual
Sort menu in note list header; palette 'Sort Notes: …'. 'Group by Kind' separates folders from notes.
Keyboard — global shortcuts
Mode-independent shortcuts. All remappable in Settings → Keymap.
Mod+,
Open Settings
Palette 'Open Settings'.
Mod+Shift+E
Export note as PDF (desktop/web)
Also :note-export-pdf; palette 'Export Note as PDF'.
Mod+Shift+Space
Quick capture floating window (desktop)
Vim leader Space q; palette 'Quick capture'. System-wide hotkey configurable in Settings → Editor.
Keyboard — Vim leader (Space)
Vim mode only. Press Space, then the next key; enable which-key hints in Settings → Editor to see options.
Space f
Search notes
Equivalent to Mod+P.
Space o
Open buffers
Equivalent to :buffers.
Space s t
Search vault text
Two-key sequence after leader.
Space e
Toggle sidebar
Equivalent to Mod+1.
Space p
Note outline
Equivalent to :outline.
Space t
Template picker
Equivalent to :template.
Space d / Space w
Today's daily / this week's note
Equivalent to :daily / :weekly.
Space q
Quick capture
Equivalent to Mod+Shift+Space.
Space v
Switch vault (desktop)
Opens the vault switcher.
Space l f
Format note
Editor normal mode; runs Prettier.
Keyboard — Vim motions & panes
Ctrl+W
Pane prefix (then h/j/k/l, v, s)
Configurable. Press twice to cancel.
Ctrl+O / Ctrl+I
Go back / forward in note history
Per-pane history.
[b / ]b
Previous / next buffer
Equivalent to :bp / :bn.
gd
Follow link at cursor
Resolves wikilinks, URLs, and PDFs; creates missing notes.
f
Hint mode jump labels
Editor and panels.
zc / zo / zM / zR
Fold / unfold heading or all headings
Equivalent to :fold / :unfold / :foldall / :unfoldall.
Ctrl+D / Ctrl+U
Half-page scroll down / up
Clamped scrolling; safe with folds and live preview.
Native Vim
Full normal/insert/visual editing
hjkl, w/b/e, d/c/y, text objects, n/N search, ., u, Ctrl+R, /pattern.
Keyboard — list & view navigation
Active when a list or panel (not the editor) has focus.
j / k
Move selection down / up
Arrow keys also work.
gg / G
Jump to top / bottom
List or preview content.
l / Enter
Open the selected item
Opens folder, note, or result.
h / Esc
Back out — collapse folder or return to editor
Hierarchical step back.
/
Focus filter / search in the view
Esc clears the filter.
m
Open context menu for the row
Shift+F10 / ContextMenu key also work.
:
Local ex prompt (Tasks/Tags views)
View-specific commands, e.g. :tag foo.
x / Space
Toggle task (Tasks view) or delete/trash (lists)
Behavior depends on view; in Trash, deletes permanently.
r / u
Restore (Trash) / unarchive (Archive)
View-specific actions.
Keyboard — ex commands & the keymap editor
Type : in Vim normal mode, then a command. Tab cycles completions in a wildmenu. Every palette command is also reachable as an ex command (kebab-case to underscores).
:w / :q / :wq
Save / close tab / save and close
Autosave is on by default; :w forces it.
:qall / :only
Close all tabs / close other tabs
:qa, :xall, :wall variants supported.
:help
Open the built-in Help manual
Also :h; palette 'Open Help'; sidebar Help link.
Settings → Keymap
Remap any shortcut or sequence
'Record Shortcut' / 'Record Sequence' buttons; filter, Change, Reset per binding or globally.
Toggle Vim
Enable / disable Vim mode
Palette 'Enable/Disable Vim Mode'; Settings → Editor. Disables leader, panes, ex, and hint mode when off.
Settings — appearance & typography
Open with Mod+, then choose a tab.
Appearance → Theme Family
Theme family (Apple, Gruvbox, Catppuccin, GitHub, Solarized, One, Nord, Tokyo Night)
Plus Mode (Light/Dark/Auto) and contrast/flavor/variant pickers.
Appearance → Dark sidebar
Dark sidebar and disclosure arrows toggles
Also palette 'Dark Sidebar' / 'Light Sidebar'.
Typography → Fonts
Interface, text, and monospace fonts
Independent font choices for chrome, reading, and code.
Typography → Size / Line height
Font size (12–32px) and line height (1.2–2.4)
Applies to edit and preview.
Typography → Widths
Reading width, editor width, content alignment
Caps line length on wide screens; Center or Left.
Typography → Line numbers
Off / Absolute / Relative line numbers
Also palette 'Line Numbers: …'. Relative suits Vim counts.
Settings — editor behavior & vault
Editor → Vim mode
Vim mode, leader hints, hint behavior & duration
Which-key overlay: Timed or Sticky, 400–3000ms.
Editor → Live preview
Live preview, note tabs, wrap tabs, word wrap, smooth scroll
Hides syntax markers off the cursor line; tab and wrap options.
Editor → Search backend
Vault text search backend + rg/fzf binary paths
Auto / Built-in / ripgrep / fzf.
Editor → Quick notes
Date-titled quick notes, prefix, quick capture hotkey
Controls quick note naming and the global capture shortcut.
Vault → Location
Vault location, remote connection, saved profiles
Change… folder picker; Quick Connect…; saved remote workspaces.
Vault → Primary notes
Primary notes location — Inbox or Vault root
Obsidian-style root layout vs. dedicated inbox/.
Vault → Daily / Weekly
Enable daily/weekly notes, directory, template
Open today / open this week buttons.
Vault → System Folders
Relabel Inbox / Quick / Archive / Trash in the UI
Display names only; folder IDs are unchanged.
Templates
Browse, create, edit, reset templates
Built-ins (ADR, RFC, Meeting Notes, and more) fork into editable copies in .zennotes/templates/.
Integrations — zen CLI
Install from Settings → CLI, then run zen in any terminal. Override the target vault with ZENNOTES_VAULT; most commands accept --json.
zen list
List notes (filter by --folder, --tag, --limit)
Most recent first.
zen read
Print a note body (--meta, --json)
Vault-relative path.
zen create / write / append / prepend
Create or modify note bodies
--body inline or - for stdin; write is destructive.
zen capture
Quick-add text as a note (defaults to quick folder)
echo "text" | zen capture --tag idea.
zen search / search-title
Full-text and title search
Line-level matches with --limit.
zen backlinks
Find notes linking to a note
Run before renaming.
zen rename / move / duplicate
Rename, relocate, or copy a note
--to, --folder, --subpath.
zen archive / trash / restore / delete
Lifecycle operations
delete is permanent (--yes).
zen folder / tag / task
Folder, tag, and task operations
Includes zen task list and zen task toggle <id>.
zen vault info / open / mcp
Vault stats, open a file in the app, start MCP
zen mcp runs the stdio MCP server.
Integrations — MCP, Raycast & server
Connect AI agents, Raycast, and remote servers. MCP and Raycast are set up in Settings → MCP and Settings → CLI.
Settings → MCP
MCP server status, client integrations, instructions
Install entries for Claude Code, Claude Desktop, Codex; edit the system prompt (.zennotes/mcp-instructions.md).
MCP tools
Full vault access for agents
vault_info, list/read/create/write/move/rename/duplicate/archive/trash/delete notes; search_text, search_by_title/tag, list_tags, backlinks; list_tasks/toggle_task; append/prepend/insert_at_line, replace_in_note; folder tools.
Settings → CLI → Raycast
Install the ZenNotes Raycast extension (macOS)
Search notes from Raycast; actions open, archive, trash, reveal, copy. Requires Node, npm, Raycast.
zennotes-server
Self-hosted Go server (desktop + web clients)
Default 127.0.0.1:7878; configure via env vars, ~/.zennotes/server.json, or Docker. Auth token required off loopback.
Connect Remote
Connect desktop to a remote vault
Palette 'Connect to Remote Vault'; Settings → Vault. 'Switch to Local Vault' returns.
Check for Updates
In-app app updater (desktop)
Palette 'Check for Updates'; Settings → About. Downloads and relaunches.
Navigation and panes
How to move around ZenNotes and arrange its workspace — toggling panels, splitting panes, managing tabs and history, pinning a reference, going distraction-free, and trusting the layout to persist.
This is the reference for moving around ZenNotes and arranging its windows: which panels to toggle, how to split the editor, how tabs and history work, and how the layout persists.
ZenNotes is built around a single editing surface that you can frame with panels, divide into panes, and strip down to nothing. Most navigation is available three ways: a default shortcut, the command palette (Shift+Mod+P), and — if you use Vim mode — a leader key (Space) or ex command (the colon prompt). Throughout this section, Mod means Cmd on macOS and Ctrl on Windows/Linux.
Bindings marked Vim-only require Vim mode (Settings, Editor, Vim mode). Quick capture, floating windows, and the external file app are desktop-only. Everything else works on both desktop and the self-hosted web app.
The workspace at a glance
ZenNotes has four framing surfaces around the editor, plus the editor's own pane tree. You toggle each one independently.
Sidebar
The folder, tag, and system-view browser on the far left. Toggle it with Mod+1 (Space e in Vim mode). It auto-collapses on small screens and can be re-shown from any panel with the same binding.
Left chrome
Note list column
The middle column between the sidebar and editor, showing the notes and assets for the current sidebar selection. Toggle it from the command palette ('Toggle Note List Column'). It only appears when the unified-sidebar setting is off; with unified sidebar on, the list folds into the sidebar.
Left chrome
Connections panel
Backlinks and unresolved links for the active note, docked on the right of the active pane. Toggle with Mod+2 (Space c in Vim mode, or 'Toggle Connections Panel').
In-pane
Outline panel
A live heading tree for the active note, docked on the right of the active pane. Toggle with Mod+3 (Space p in Vim mode, or 'Toggle Outline Panel'). Use the outline palette (:outline) instead if you just want to jump to a heading without keeping the panel open.
In-pane
Toggle panels
Each panel has its own binding and works from anywhere in the app.
Mod+1
Toggle sidebar
Vim: Space e. Command palette: 'Toggle Sidebar'.
Mod+2
Toggle connections panel
Vim: Space c. Backlinks + unresolved links for the active note.
Mod+3
Toggle outline panel
Vim: Space p. Heading tree for the active note.
palette
Toggle note list column
Command palette: 'Toggle Note List Column'. Non-unified-sidebar mode only.
Multi-pane layout
The editor is a tree of panes. You can split it vertically or horizontally, navigate between panes with the keyboard, resize the dividers, and close panes you no longer need. Each pane keeps its own tab list, active tab, and undo history.
Vertical split (side by side)
Clone the active tab into a new pane on the right. Ctrl+W v in Vim mode, or the ex command :vsplit / :vs, or command palette 'Split Right'. Good for comparing two parts of a note or keeping a reference open.
Split
Horizontal split (stacked)
Clone the active tab into a new pane below. Ctrl+W s in Vim mode, or the ex command :split / :sp, or command palette 'Split Down'.
Split
Move between panes
Ctrl+W then h / j / k / l moves focus left / down / up / right (Ctrl+W Ctrl+h/j/k/l and arrow keys also work). At a pane edge, focus wraps to the adjacent panel — sidebar, note list, connections, comments, or outline. Pressing Ctrl+W twice cancels a pending pane command.
Focus
Resize a split
Drag the divider between two panes to change the split ratio. Resizing updates the panes' flex sizes and is saved with the layout.
Resize
Close a tab or pane
Mod+W closes the active tab (or click the X on the tab). Closing the last tab in a pane closes that pane; removing the last pane restores a single empty pane. Ex aliases: :q, :bd, :bc.
Close
Pane and split shortcuts
Ctrl+W v
Split right (vertical)
Ex: :vsplit / :vs. Palette: 'Split Right'. Vim-only for the chord.
Ctrl+W s
Split down (horizontal)
Ex: :split / :sp. Palette: 'Split Down'. Vim-only for the chord.
Ctrl+W h/j/k/l
Focus pane left/down/up/right
Arrow keys and Ctrl+W Ctrl+h/j/k/l also work. Wraps to side panels at edges. Vim-only.
Mod+W
Close active tab / pane
Ex: :q, :bd, :bc. Closing the last tab closes the pane.
drag divider
Resize a split
Persists in the layout.
Tabs
With tabs enabled (Settings, Editor, Note tabs), each pane shows a tab strip you can click, scroll, pin, and prune. Disabling tabs reverts to single-note mode, where the buffer palette (Space o) becomes the main way to switch notes.
The tab strip
Sits above the editor in each pane, showing file name, title, and a dirty indicator. Click a tab to focus it; scroll the strip when tabs overflow. Turn the whole feature on or off with command palette 'Enable Tabs' / 'Disable Tabs'.
Tab bar
Wrap tabs
When tabs overflow, choose whether they wrap onto additional rows or scroll horizontally. Settings, Editor, Wrap note tabs (only available when Note tabs is on).
Overflow
Pin a tab
Pin frequently used tabs so they stay put and survive destructive tab operations. Right-click the tab, or use command palette 'Pin Tab' / 'Unpin Tab'. Pinned tabs are excluded from Close Others and Close to the Right.
Keep
Close others / close to the right
Close every other tab in the pane with :only (or palette 'Close Other Tabs in Pane', or the tab context menu). Close everything to the right of the active tab with palette 'Close Tabs to the Right' or the tab context menu. Pinned tabs are never closed by either.
Prune
Switching tabs from the keyboard
When you focus the tab strip (Ctrl+W k from the editor), the tab row becomes keyboard-navigable:
- h or arrow-left moves to the previous tab; l or arrow-right moves to the next tab.
- j, arrow-down, or Enter drops focus back into the editor.
- Cycle tabs without focusing the strip using ]b (next) and [b (previous), or the ex commands :bn / :bnext and :bp / :bprev. When only one tab is open, these jump to the most recent note instead.
Finding and cycling open buffers
Every open tab is a buffer. Two tools span all of them.
Buffer palette
A searchable list of every open buffer across every pane — including virtual tabs like Tasks, Tags, Help, Archive, Trash, and Quick Notes — with status flags (current, split, hidden, recent). Open it with Space o (Vim), the ex commands :buffers / :ls, or command palette 'Open Buffer Switcher'. Fuzzy-filter by title, subtitle, or keywords; Enter opens the selection.
List
Previous / next buffer
Step through the active pane's tabs with [b (previous) and ]b (next), or the ex commands :bp / :bprev and :bn / :bnext. These are the fast path when you are bouncing between two notes.
Cycle
Tab history
Each pane keeps its own back/forward history of the notes you have viewed, so you can retrace a chain of links the way a browser does.
Go back
Jump to the previous note location in this pane's history. Ctrl+O (Vim), Alt+Left, or Cmd+[. Also available as command palette 'Go Back'. Recently visited notes also surface in the buffer palette.
Back
Go forward
Advance through history after going back. Ctrl+I (Vim), Alt+Right, or Cmd+]. Also command palette 'Go Forward'.
Forward
Tab and history shortcuts
Space o
Open buffer palette
Ex: :buffers / :ls. Palette: 'Open Buffer Switcher'. All open buffers, all panes.
]b / [b
Next / previous buffer
Ex: :bn / :bnext and :bp / :bprev. Active pane only.
Ctrl+O / Ctrl+I
History back / forward
Vim-only chords. Per-pane history.
Alt+Left / Alt+Right
History back / forward
Non-Vim equivalent of Ctrl+O / Ctrl+I.
Cmd+[ / Cmd+]
History back / forward
Also available as Space [ / Space ] in Vim mode.
:only
Close other tabs in pane
Keeps only the active tab. Pinned tabs survive.
Pinned reference pane
The reference pane is a companion view docked to the right of the active pane, outside the normal pane tree. Pin a note (or a PDF) there to keep it visible while you draft against it. Only one reference can be pinned at a time.
Pin and unpin
Pin globally — visible alongside every note — with command palette 'Pin Active Note as Reference', or pin per-note from a note's context menu so the reference is scoped to just that note. A per-note pin overrides the global pin. Following a [[file.pdf]] link or running gd on a PDF pins that PDF as the reference instead of opening a separate viewer. Remove it with 'Unpin Reference'.
Pin
Show or hide
Hide the reference pane while keeping it pinned, then bring it back without re-pinning. Use command palette 'Show Reference Pane' / 'Hide Reference Pane', or the eye icon in the reference pane header.
Show/Hide
Edit / preview toggle
Switch the reference between markdown source and rendered preview with the edit/preview button in its header, or Cmd+Alt+E.
Mode
Resize and focus
Drag the left edge of the reference pane header to resize it; the width is remembered and a minimum is enforced. Move keyboard focus into it with command palette 'Focus Reference Pane' to navigate inside the reference.
Layout
Floating and quick-capture windows
Desktop only. Detach a note into its own OS window, or open a small capture window to jot something without leaving what you are doing.
Floating note window
Open a note in its own window with independent editing state, edit/preview toggle, Vim mode, and keyboard navigation — useful for side-by-side reading across displays. Right-click a note in the sidebar or list and choose 'Open in Floating Window', use the tab context menu, or run command palette 'Open in Floating Window'.
Desktop
Quick capture window
A small floating window for fast notes that remembers its position and size and writes into the Quick Notes folder. Open it with Space q (Vim), Shift+Mod+Space, the configurable system-wide hotkey (Settings, Editor, Quick capture hotkey — default Cmd+Shift+Space / Ctrl+Shift+Space, works even when ZenNotes is hidden), or command palette 'Quick capture'. You can open more than one.
Desktop
External file app
View and edit a markdown file that lives outside the vault in its own window. Triggered by dragging an OS file onto the app or via the ?external=<path> URL parameter. It mirrors the floating window: save persistence, Vim mode, and keyboard navigation all work.
Desktop
Focus modes and zoom
Strip the interface down for writing, or scale the whole UI up and down.
Zen mode
Hide all chrome — title bar, sidebar, note list, tab strip, pane headers, side panels, and status bar — leaving only the active editor, preview, or split view. Toggle with Mod+. (period), command palette 'Enter Zen Mode' / 'Exit Zen Mode', or the ex command :zen (also :zen on / :zen off / :zenmode).
Focus
Zoom
Scale the entire UI — editor, sidebar, and all panels. Mod+= zooms in, Mod+- zooms out, Mod+0 resets to 100%. Zoom persists across sessions. Also available as palette commands 'Zoom In', 'Zoom Out', 'Reset Zoom'.
Scale
Jumping with the keyboard
Two Vim-mode aids let you move without reaching for the mouse or memorizing positions.
Hint mode (f)
Press f in normal mode to overlay single-letter jump labels on every clickable target — links, headings, buttons, list rows. Type a label to jump straight to it. It works in the editor, in preview, and across panels. Label color is theme-customizable.
Vim
Which-key leader hints
After you press the leader key (Space), a which-key overlay lists the available next keys so you never have to memorize chains. Enable it with command palette 'Enable Leader Key Hints' or Settings, Editor, Leader key hints (Vim mode only). Choose Timed (auto-hides after 400–3000 ms, set by the duration slider) or Sticky (stays until you finish or dismiss the sequence) under Leader hint behavior.
Vim
Sidebar and list navigation
The sidebar and note list share a Vim-style navigation model and render large vaults smoothly.
Move through the list
When the sidebar or note list has focus: j / k (or arrow keys) move the selection down / up, gg jumps to the top and G to the bottom, and Enter (or l / o) opens the selected note, folder, or view. In the sidebar, h or arrow-left collapses a folder or steps toward the root; o toggles a folder open or closed. Press / to focus the local filter, and m to open the context menu for the selected row. Esc returns focus to the editor. The note list also supports hint mode (f).
Keys
Dark sidebar
Tint the sidebar one step darker than the editor canvas so it reads as a distinct surface. Toggle it in Settings, Appearance, Dark sidebar, or via command palette 'Dark Sidebar' / 'Light Sidebar'. Off by default.
Look
Progressive rendering
On large vaults the sidebar lazy-loads entries — rendering an initial batch (around 200 entries) and loading more as you scroll — so interaction stays smooth. There is no setting to configure; it just works.
Performance
Sidebar / list navigation keys
Active when the sidebar or note list has focus.
j / k
Move selection down / up
Arrow keys also work.
gg / G
Jump to top / bottom
Fast-travel in long lists.
Enter
Open selection
Also l or o. Opens a note, folder, or view; folders expand.
h
Collapse folder / step left
Arrow-left or Esc. In the note list, returns to the sidebar.
/
Focus filter
Search within the current view; Esc clears it.
m
Open context menu
Move, archive, trash, floating window, reveal, and more.
Session and window persistence
You should never have to rebuild your layout. ZenNotes saves it for you.
Workspace session
Your full workspace is written to .zennotes/workspace.json on every change: the pane layout (paneLayout), the active pane, every open tab, the selected path, and the open/closed state of the note list and sidebar, plus view settings. Reopen the vault and the layout, tabs, and selections come back exactly as you left them.
Auto
Window state
Desktop windows also remember their size, position, and maximized state, saved whenever the window moves, resizes, or maximizes, and restored on the next launch.
Desktop
Organization and views
ZenNotes organizes your vault into a handful of system areas you move notes through over their lifetime, plus folders you create freely. This section covers every view in the sidebar, how to sort, filter, and group what you see, and every operation you can perform on a note or folder.
Your vault is a normal directory of Markdown files on disk. On top of it, ZenNotes defines four built-in lifecycle areas: Inbox, Quick Notes, Archive, and Trash. These areas exist conceptually even if you rename their sidebar labels. Tags and Files give you two more ways to slice the same notes and assets without moving anything.
Most actions described here are reachable several ways: a default shortcut, a command-palette title (open it with Shift+Mod+P), an ex command (type ':' in Vim normal mode), a right-click or 'm'-key context menu, and the zen CLI. Pick whichever fits your flow.
The system views
Six destinations in the sidebar. The first four are lifecycle stages a note passes through; the last two are lenses over your whole vault.
Inbox
Your primary workspace for active notes. View all notes in the inbox folder (or at the vault root, depending on settings), with configurable sort, filters, and folder grouping. Open it from the sidebar 'Inbox' entry or the command palette 'Go to Inbox'.
Lifecycle
Quick Notes
A capture buffer for fast, low-friction notes, sorted newest-first. Reach it from the sidebar, command palette 'Go to Quick Notes', or create-and-jump with the quick-capture shortcuts. The Quick Notes folder is system-wide and cannot be moved.
Lifecycle
Archive
Long-term storage for inactive notes you want to keep without cluttering Inbox. Open via the sidebar 'Archive' entry or command palette 'Go to Archive'. Notes here stay fully searchable; Unarchive returns them to Inbox.
Lifecycle
Trash
A recovery bin for deleted notes. Open with the :trash ex command, command palette 'Go to Trash', or the sidebar 'Trash' link. Notes wait here until you Restore them or delete permanently.
Lifecycle
Tags
Browse and filter notes by hashtag across the whole vault, with a multi-select chip strip. Open with :tag (optionally :tag foo bar to preselect), command palette 'Open Tags', Space # in Vim mode, or the sidebar Tags section.
Lens
Files
Browse every non-note file (images, PDFs, audio, video, binaries) in the vault tree. Open with command palette 'Go to Files' or the Files link in the sidebar footer. Open files in tabs or the reference pane.
Lens
Inbox and your primary notes location
Where your main notes live is governed by Settings → Vault → Primary notes location. In Inbox mode (the default), regular notes live in an inbox/ folder and other folders sit under archive/. In Vault root mode (Obsidian-style), notes live at the vault root with no dedicated inbox/ folder. This choice changes how the sidebar is laid out, where new notes are created, and which 'New Note' commands appear (for example, 'New Note in Inbox' versus 'New Note in Vault Root'). The setting persists across sessions.
Inside the Inbox view you can multi-select notes and folders for bulk operations, drag notes into folders or onto other panes, and assign emoji icons to folders. The note list updates automatically as you change the sidebar selection, showing notes and assets for the current folder.
Quick Notes and quick capture
Quick Notes are ordinary Markdown files that live in the quick area, listed in reverse-chronological order so the newest capture is always on top. Create one with Shift+Mod+N, Space q in Vim mode, the '+' button or 'n' key inside the Quick Notes view, or command palette 'New Quick Note'. ZenNotes focuses the title field immediately so you can start typing.
On desktop you can also pop a small floating capture window with Shift+Mod+Space (a system-wide hotkey that works even when ZenNotes is hidden), Space q via the leader, or command palette 'Quick capture'. It remembers its position and size, and notes you jot land in the Quick Notes folder.
Titling is configurable in Settings → Editor. Toggle 'Date-titled Quick Notes' to name notes by ISO date (for example 2026-05-29) instead of a timestamp, and set a 'Quick Note prefix' (default 'Quick Note') that is prepended to the title. Leave the prefix blank for a bare date or timestamp.
Archive and Trash workflows
Archive a note
Move a note from Inbox to Archive without deleting it. Use Cmd+Shift+A, command palette 'Archive', the context menu, or 'd' in some list views. Content is preserved and the note stays searchable.
Archive
Unarchive a note
Send an archived note back to Inbox with the 'u' key in the Archive view, the context menu 'Unarchive', or command palette 'Restore'/'Unarchive Note'. The sidebar updates the note's folder status immediately.
Archive
Archive view actions
Filter, sort, and search archived notes. Quick-action buttons cover Open, Unarchive, and Move to Trash. Keyboard: j/k navigate, Enter or o open, u unarchive, d delete. The full context menu (right-click or Space m) adds open in new tab, rename, move, duplicate, copy as wikilink, copy path, reveal in file manager, and open in floating window.
Archive
Move to Trash
Soft-delete a note with command palette 'Move Note to Trash', the 'd' key in list views, or the context menu. A confirmation dialog shows the note title. The note moves to the trash area and is recoverable.
Trash
Restore from Trash
Recover a trashed note back to Inbox with the 'r' key in the Trash view, the context menu 'Restore', or command palette 'Restore Note from Trash'. It returns to its original folder path if that path still exists.
Trash
Delete permanently / Empty Trash
Permanently remove a single note with the 'd' or 'x' key in the Trash view (confirmation: 'This cannot be undone'). Empty Trash deletes every trashed note at once after a single confirmation showing the count. Both are irreversible and available only in the Trash view.
Trash
Tags view
The Tags view shows every hashtag in the vault as a chip strip with per-tag counts. Click chips to select or deselect them; notes matching any selected tag appear below (union logic). A search box filters within the results. Tags can be hierarchical with slashes (for example #project/active).
Open the view with command palette 'Open Tags', Space # in Vim mode, or the sidebar Tags section. The :tag ex command opens it, and :tag foo bar replaces the current selection with those tags in one step. Inside the view, j/k navigate notes, Enter or o opens, '/' focuses the filter, and ':' opens a view-local ex prompt. The view live-extracts tags from the active editor buffer as you type.
Tag operations across the vault
Rename Tag…
Rename a tag everywhere
Command palette. Prompts for the old and new tag name, then updates every note that carries it.
Delete Tag…
Remove a tag everywhere
Command palette. Prompts for the tag name, then strips it from all notes.
#tag
Create a tag inline
Type a hashtag in a note body. Clicking it in preview opens the Tags view with that tag selected.
Space #
Open Tags view (Vim)
Equivalent to :tag and command palette 'Open Tags'.
Files and assets
ZenNotes treats your vault as a file-based, Obsidian-compatible store: loose files anywhere in the vault count as assets. Images, SVGs, PDFs, audio, video, and generic files can open in tabs or the reference pane. New referenced files default to the vault root rather than a forced attachments folder, though legacy locations such as attachements/ and _assets/ are still recognized.
Embed an asset with  or the Obsidian-style ![[image.png]], or paste/drop an image into the editor to auto-insert it. Wikilink autocomplete ([[) also completes asset paths. Reach the asset views from the Files link in the sidebar footer (command palette 'Go to Files') or the Assets tab that appears when a folder or asset is selected.
Assets render in two layouts you switch from the note-list header: a grid of thumbnail cards (grid icon) and a compact list with names, paths, and sizes (list icon). Your layout choice persists for the session. From the asset views you can sort, filter, search, drag assets into notes, delete unused assets, and on desktop right-click to reveal an asset in the file manager.
Creating notes
Several entry points depending on where you want the note to land.
Shift+Mod+N
New Quick Note
Also Space q (Vim), the '+'/'n' in Quick Notes view, or command palette 'New Quick Note'. Lands in the quick folder, focuses the title.
New Note in Current Folder
Create in the folder you are viewing
Command palette, or the folder's context menu. Only available when viewing a folder (not in Tasks/Archive/Trash views).
New Note in Inbox / Vault Root
Create in your primary notes area
Command palette; the title depends on your Primary notes location setting. Equivalent to bare :new.
:new [path]
Create at an explicit path
Ex command. :new alone creates a note in Inbox and focuses the title; :new inbox/Work/idea.md creates at that path.
:e[dit] <path>
Open or create by path
Ex command. Resolves a vault-relative path and creates the note (and any missing parent folders) if it does not exist.
Space t
New note from template
Also :template / :tmpl, Cmd+Shift+T, command palette 'New Note from Template…', or a folder's 'New from template'. Opens the template picker; :template <name> skips the picker and uses the best match.
Note operations
Every operation works from the command palette and most from the right-click / 'm'-key context menu. Multi-select in the sidebar applies compatible operations to the whole group.
Rename Note…
Change a note's title
Command palette or context menu. Prompts with the current title; rejects / and \. Changes only the filename, not the folder.
Cmd+M
Move to another folder
Also :move / :mv (with or without a target) and command palette 'Move Note to Folder…'. Interactive picker with folder-path autocomplete; Tab browses folders, Enter confirms. :mv archive/Reference moves directly.
Duplicate
Copy a note in place
Command palette or context menu. Copies content and metadata into the same folder and appends ' (copy)' to the title. Available in Inbox, Archive, Quick Notes, and search results.
Archive / Unarchive
Toggle a note in or out of Archive
Cmd+Shift+A to archive; 'u' in the Archive view to unarchive. Also via command palette and context menu.
Trash / Restore
Soft-delete or recover
'd' in list views to trash; 'r' in the Trash view to restore. Confirmation on trash; restore returns the note to Inbox.
Delete permanently
Remove from disk
Only in the Trash view ('d' or 'x'). Confirmation required; cannot be undone.
Copy Note as Wikilink
Copy [[Title]]
Command palette or context menu. Puts a resolvable wikilink on the clipboard, ready to paste into another note.
Copy Note Path
Copy the vault-relative path
Command palette or context menu. Copies a POSIX path like inbox/folder/note.md.
Copy Note Absolute / Server Path
Copy the full path
Command palette. On desktop this is the filesystem path; on a remote workspace the label switches to the server path.
Two related folder-path commands round this out: 'Copy Current Folder Path' (vault-relative, like inbox/Work) and 'Copy Current Folder Absolute Path' / '…Server Path' for the full path. On desktop, 'Reveal Note in File Manager' (context menu 'Reveal in Finder') jumps to the note's location in Finder or File Explorer.
Sorting, grouping, and filtering the note list
Sort the note list from the sort icon (gear) in the note-list header, from Settings, or from the command palette. Options are Name (A→Z and Z→A), Updated date (newest or oldest first, the default is newest first), Created date (newest or oldest first), and Manual. Choose Manual to disable automatic sorting and drag notes up and down to set a custom order; the order persists per folder. Your sort choice persists per view.
Toggle 'Group by kind' (command palette 'Group Notes by Kind' / 'Ungroup Notes by Kind') to list folders and assets in their own sections separate from notes, instead of mixing them in a flat list.
Filter the current list by pressing '/' to focus the filter box (or use the filter input in the folder view). Matching is a case-insensitive substring across title, path, and the first-line excerpt, with instant results as you type. An icon indicates when a filter is active; press Esc to clear it. Filtering is available in every list view, including Inbox, Archive, Quick Notes, Tags, and Tasks. The Tasks, Tags, and Trash views also accept '/' to focus their local filter.
Folders
Create as many folders as you like under your primary notes area and Archive. Folder commands live in the sidebar context menu and Settings → Folders.
Create a folder
Right-click a folder in the sidebar, or use Settings → Folders. Prompts for a name; nested paths like Inbox/Work/Projects create the full hierarchy at once.
Create
Rename a folder
Sidebar context menu 'Rename…' or Settings → Folders. Updates every contained note's path, preserves subfolder structure and folder-icon assignments, and rejects invalid characters.
Rename
Delete a folder
Sidebar context menu 'Delete…' or Settings → Folders. The dialog lets you cancel, move contents to the parent, or delete the folder and everything in it. Moving preserves access; deletion is permanent.
Delete
Folder icons (emoji)
Right-click a folder and choose 'Set icon' to open the emoji picker. The icon shows in the sidebar next to the folder name and is saved in vault settings. Clear it to reset to the default.
Icons
Collapse / expand
Click the chevron beside a folder, or use Left/Right arrows when the sidebar is focused. Right-click a section header or use the command palette to 'Collapse all folders' or 'Expand all folders'. Collapsed state persists per folder.
Collapse
Auto-reveal active note
Toggle 'Auto-Reveal Active Note' (command palette or sidebar settings) so opening a note expands its ancestor folders and scrolls it into view in the sidebar.
Auto-reveal
Reorganizing with multi-select and drag-and-drop
- Select one item with a click, a range with Shift+click, and toggle individual items with Cmd+click (macOS) or Ctrl+click (Windows/Linux). The sidebar shows the count of selected items.
- With a selection made, right-click or press 'm' to run a batch operation: open in tabs, move, archive/unarchive, trash, restore, duplicate, copy paths, or delete folders together.
- Drag a note or folder within the sidebar to move it; drops snap to folder targets and show a visual drop zone. Dragging a selected item moves the whole group.
- Dragging toward the sidebar edges auto-scrolls to reveal off-screen targets, and the scroll position is preserved after the drop.
Importing Markdown and the assets model
Bring existing Markdown into the vault by dragging .md or .markdown files onto the window. On desktop the file opens in place (in an external file window) or is imported as a copy; on web its contents are read and a new note is created. The filename becomes the title, and frontmatter and content are preserved. Programmatic import is available through window.zen.importNote().
Attachments and assets follow the file-based model described above: drop or paste images and PDFs to embed them, link documents for download or open, and manage everything from the Files/Assets views. PDFs embed with a viewer (zoom and page navigation) and can be pinned into the reference pane. New referenced files default to the vault root.
Opening notes and the vault in separate windows (desktop)
Open in Floating Window
Detach a note into its own window
Right-click a note in the sidebar, list, or tab, or use command palette 'Open in Floating Window'. Each window is independent with its own edit/preview state and supports Vim mode.
Open Local Vault in New Window…
Open a whole vault in a new window
Command palette. Creates a separate app window for the selected vault.
External file app
Edit Markdown outside the vault
Triggered by dragging an OS file onto the window or the ?external=<path> URL parameter. Mirrors floating-window editing with save persistence and Vim mode.
zen open <file.md>
Open a file from the terminal
CLI. Brings the ZenNotes window to front and loads the file, whether it lives in the vault or anywhere on disk.
Doing the same from the command line
Every lifecycle operation has a zen CLI equivalent for scripting and automation: zen list (filter with --folder or --tag), zen create / zen capture, zen rename, zen move (--folder inbox|quick|archive|trash, optional --subpath), zen duplicate, zen archive / zen unarchive, zen trash / zen restore, and zen delete --yes for permanent removal. Folders use zen folder list|create|rename|delete, and tags use zen tag list and zen tag find. Add --json to most commands for machine-readable output. Install the CLI from Settings → CLI.
Search and find
ZenNotes gives you several ways to find things, each tuned to a different question: which note, which line, which heading, and what links here. This section brings them together so you can pick the right one and reach it from the keyboard.
Choose by what you are looking for. To jump to a note by name, use the note search palette. To find a word or phrase inside note bodies across the vault, use vault text search. To edit matches in the note you are in, use in-note find and replace. To see which notes point at the current note, use the connections panel. To browse by topic, use the Tags view.
Shortcuts below use Mod to mean Cmd on macOS and Ctrl on Windows and Linux. Vim leader sequences (Space ...) require Vim mode. Every shortcut is remappable in Settings, Keymaps.
Pick the right search
Note search palette
Fuzzy-find and open a note by its title or path. Add inline #tag tokens to narrow by tag. Open it with Mod+P (Mod+F when Vim mode is off) or Space f.
By name
Vault text search
Full-text search across note bodies in Inbox, Quick Notes, and Archive, line by line. Open it with Mod+Shift+F or Space s t. Choose the search engine in Settings.
By content
Find and replace
Search and replace within the current note, with case, whole-word, and regex options. Open it with Mod+F (Cmd+F on macOS, Ctrl+F on Windows and Linux) in Edit or Split mode.
In this note
Outline palette
Jump to any heading in the active note. Open it with the :outline ex command, Space p, or Mod+3 to toggle the outline panel.
By heading
Connections panel
See backlinks and unresolved links for the current note. Toggle it with Mod+2, then navigate and peek with the keyboard.
By link
Tags view
Browse and filter notes by hashtag. Open it with :tag, Space #, or from the sidebar.
By topic
Note search palette
The note search palette is the fastest way to open a known note. It fuzzy-matches across note titles and paths and returns the 20 best matches; press Enter to open the highlighted result and Escape to close.
Filter by tag inline by typing #tag tokens anywhere in your query. Tokens render as chips, and you can mix text and tags (for example, migration #ops #prod) or search by tag alone. Navigate results with the arrow keys or Ctrl+N and Ctrl+P.
Open the note search palette
Mod+P
Open note search (default binding)
Cmd+P on macOS, Ctrl+P on Windows and Linux
Mod+F
Open note search when Vim mode is off
Separate non-Vim binding for the same palette
Space f
Open note search from leader mode
Vim mode only; works from the sidebar, panels, or editor
Search Notes…
Command palette entry
Open the command palette with Mod+Shift+P, then search
Vault text search
Vault text search looks inside note bodies across Inbox, Quick Notes, and Archive, returning line-level matches with the note path, line number, and a highlighted excerpt. Results are limited to the 80 best matches, input is debounced by 120ms, and you can open any match at its exact offset in the editor.
The engine is configurable. In Settings, Editor, set the Vault text search backend to Auto, Built-in, ripgrep, or fzf. Auto detects what is installed and prefers fzf, then ripgrep, then the built-in JavaScript search; an explicit choice overrides auto-detection. A backend indicator in the search UI shows which engine ran. If ripgrep (rg) or fzf are not on your PATH, set an absolute path in the ripgrep binary path or fzf binary path fields; leave them blank to use the binary from your PATH.
Open vault text search
Mod+Shift+F
Open full-text vault search
Cmd+Shift+F on macOS, Ctrl+Shift+F on Windows and Linux
Space s t
Open full-text vault search from leader mode
Vim mode only; two-key sequence after the leader
/
Open vault text search from the editor
In the editor, the filter key opens vault text search
Search Text in Vault…
Command palette entry
Open the command palette with Mod+Shift+P, then search
Choose the search backend
Auto
Detect and prefer fzf, then ripgrep, then built-in
Default; uses whatever is available
Built-in
Use the bundled JavaScript search
No external binary required
ripgrep
Use ripgrep (rg) for fast, regex-capable search
Set an absolute path if rg is not on your PATH
fzf
Use fzf for fuzzy matching
Set an absolute path if fzf is not on your PATH
In-note find and replace
Find and replace searches within the note you are editing. It highlights every match in the document, and you can replace one match or all of them. Toggle case sensitivity, whole-word matching, and regex mode with the buttons in the dialog; regex mode supports pattern replacement. The dialog is available in Edit and Split modes, but not in Preview, and your settings persist across sessions.
Use find and replace
Mod+F
Open the find dialog
Cmd+F on macOS, Ctrl+F on Windows and Linux; Edit or Split mode
Tab
Switch from Find to Replace
Move between the find and replace fields
case / whole-word / regex
Toggle match options
Buttons in the dialog; regex enables pattern replace
Outline and heading palette
To move within a long note, open the heading outline palette. It shows the note's headings as a searchable tree with indentation by level and line numbers; fuzzy-filter by heading text and press Enter to jump the cursor there. In Split or Preview, the outline syncs with scrolling so the jump matches the visible location. The outline panel is a persistent, dockable version of the same view.
Jump by heading
:outline
Open the heading outline palette
Ex command; Vim mode
Space p
Open the outline palette from leader mode
Vim mode only
Mod+3
Toggle the outline panel in the active pane
Cmd+3 on macOS, Ctrl+3 on Windows and Linux
Open Note Outline…
Command palette entry
Open the command palette with Mod+Shift+P, then search
Connections: backlinks and unresolved links
The connections panel answers what links here. It lists backlinks (other notes that link to the current note through [[wikilinks]]) and unresolved links that could be created. Toggle it with Mod+2; it lives on the right side of the active pane.
Navigate the panel with the keyboard: j and k move the selection, gg and G jump to the top and bottom, and Enter or o opens the selected note. Press p to peek a hover preview of the selected connection without leaving the panel, then h or Escape to step back from the preview to the list, and again to return to the editor.
Work in the connections panel
Mod+2
Toggle the connections panel
Cmd+2 on macOS, Ctrl+2 on Windows and Linux
j / k
Move selection down / up
Arrow keys also work
gg / G
Jump to top / bottom of the list
Enter / o
Open the selected note
p
Peek a hover preview of the selection
Shows the linked note in a floating overlay
h / Esc
Back out of the preview, then the panel
Hierarchical navigation toward the editor
Hover preview peek
Peek lets you read a linked note without fully opening it. Hover over a wikilink in the editor to show a floating preview of the target note (a short grace timer keeps the popover open so you can interact with it), or, in the connections panel, select a link and press p. You can scroll and navigate within the preview overlay.
Tags view as a search surface
When you want to find notes by topic rather than by word, use the Tags view. It shows every tag in the vault with per-tag counts; select one or more tags to list notes that match any of them (union logic), and use the in-view filter to narrow further. Clicking a #hashtag in a rendered note also opens the Tags view with that tag selected. For the full tag model, including hierarchical tags and renaming or deleting tags across the vault, see Organization.
Search by tag
:tag
Open the Tags view
Ex command; :tag foo bar selects those tags directly
Space #
Open the Tags view from leader mode
Vim mode only
Open Tags
Command palette entry
Also available from the sidebar Tags section
/
Filter notes within the Tags view
Local filter; does not change the tag selection
Inline comments
Highlight a passage in any note and leave a comment anchored to the text. Comments live in a side panel on the editor and stay attached to their selection as the surrounding paragraph evolves.
Anchored to the selection
Each comment stores the selected range plus the text snippet itself. If the surrounding paragraph drifts, ZenNotes re-locates the anchor by snippet so the comment never points at the wrong place.
Side-of-line markers
A small marker sits inside the editor's right padding next to the line that owns the comment. Click it (or click the card in the sidebar) to jump back to the anchored text.
Resolve when done
Resolved comments stay in the note's history but disappear from the active sidebar. Reopen the panel anytime to revisit them.
Plain-file friendly
Comments are persisted next to the note, so the Markdown source itself stays clean and diff-friendly. Your
.mdfiles don't grow comment clutter.