Skip to content

Keyboard shortcuts

Mod is ⌘ on macOS and Ctrl on Windows and Linux.

The command palette (Mod ⇧ P) lists every command with its current shortcut, which is always more up to date than a page like this one.

Shortcut Command
Mod ⇧ P Command palette
Mod P Go to note
Mod ⇧ F Search in vault
Mod ⇧ T Show all tasks
Mod ⌥ ← / → Go back / forward
Shortcut Command
Mod N New note
Mod ⇧ N New folder
Mod ⇧ D Open today’s note
— Export note as HTML
— Pin or unpin this note
— Clone a vault
Shortcut Command
Mod B Bold
Mod I Italic
Mod E Inline code
Mod ⇧ M Highlight
Mod U Underline
Mod K Insert link
Mod ⇧ K Insert note link
Mod ↵ Toggle task
Mod 1 / 2 / 3 Heading 1, 2, 3
Mod 0 Plain paragraph
Mod ⇧ 8 / 7 / 9 Bulleted list, numbered list, quote
Mod ⇧ C Code block
⌥ ↑ / ↓ Move line up / down
Mod ] / [ Indent / outdent

Tables, dates, todo bulk actions, footnote renumbering and more are unbound by default — find them in the palette and bind any you reach for.

Shortcut Command
Mod S Sync now
Mod ⇧ S Pause or resume syncing
Mod , Settings
Shortcut Command
Mod \ Toggle sidebar
Mod ⇧ O Outline
Mod ⇧ A Browse tags
Mod ⇧ H Note history
Mod ⇧ G Branches and pull requests
Mod ⇧ B Toggle info panel
Mod = / Mod − Zoom in / out
Mod ⌥ − / Mod ⌥ = Fold / unfold this section
— Keyboard shortcuts

Open Keyboard shortcuts from the command palette. Every command can be rebound, and any command can be unbound entirely.

Two commands claiming the same key is flagged rather than silently resolved — otherwise you are left wondering why a shortcut does the wrong thing.

Default is the scheme above. Alternative follows the conventions several other notes apps use, for people arriving from one of them: Mod ⇧ ↵ for a task, Mod K for search rather than links, Mod O for the quick switcher.

A preset only states what it changes; everything else falls back to the default.

.opennote/keymap.json, inside the vault, so your bindings travel with it. It is plain JSON and safe to edit by hand.

{
"scheme": "default",
"bindings": {
"note.daily": "Mod-J",
"view.tags": null
}
}

null unbinds a command. An unreadable entry falls back to its default rather than breaking the whole keymap.