Home · Docs · Basics · Keyboard shortcuts

Keyboard shortcuts

Every binding in sweetdocs, what scope it applies to, and the conflicts you should know about. Verified against the actual handlers.

Mac shortcuts use (Command); Windows / Linux substitute Ctrl. = Shift. Bindings are grouped by scope — where the key listener lives — because the same key can mean different things at different levels.

Global

These work from any screen in the app, signed in.

KeysAction
⌘K / Ctrl+KOpen the command palette (toggle)
⌘⇧A / Ctrl+Shift+AToggle the AI Author panel
EscClose the topmost open panel, modal, dropdown, or menu

Document scope (when an editor is open)

KeysAction
⌘E / Ctrl+EToggle Edit ↔ Preview mode (markdown docs only)

Editor content (text formatting)

These fire when you’re typing in the editor body in Edit mode. They come from Tiptap’s StarterKit plus our custom toolbar wiring.

KeysAction
⌘B / Ctrl+BBold
⌘I / Ctrl+IItalic
⌘⇧X / Ctrl+Shift+XStrikethrough
⌘Z / Ctrl+ZUndo
⌘⇧Z / Ctrl+Shift+ZRedo
EnterNew paragraph (or new list item, inside a list)
⇧EnterSoft line break within the current block
TabIndent a list item one level (when inside a list)
⇧TabOutdent a list item one level

Block insertion — slash menu, not shortcuts

Headings, lists, tables, code blocks, images, quotes, and dividers don’t have direct keyboard shortcuts. Use the slash menu instead: press / at the start of an empty line, type a few letters to filter, Enter to insert.

This is intentional — direct shortcuts for headings (e.g., ⌘⌥1) would clash with macOS Mission Control and browser tab-switching. The slash menu keeps your fingers on the keyboard and removes the conflict.

Slash menu navigation

When the slash menu is open (after pressing /):

KeysAction
/ Move selection up / down
Enter or TabInsert the selected item
EscClose the menu

AI Author input

When the AI Author panel is open and the input is focused:

KeysAction
EnterSend the message
⇧EnterNewline within the message (no send)

Comments — @-mentions

When the mention autocomplete is showing inside a comment input:

KeysAction
/ Move through candidate users
Enter or TabInsert the highlighted mention
EscClose the autocomplete (keeps the comment input open)
InteractionAction
Double-click a doc / folder rowEnter inline rename mode
Enter (while renaming)Commit the new name
Esc (while renaming)Cancel — revert to the previous name
Right-click a rowOpen the context menu (rename, move, pin, duplicate, delete, share)

Conflicts you should know about

Two key combos have both a global and an editor-level meaning. The global handler runs first, so the global action wins.

Tiptap’s default Link shortcut is ⌘K. Because the command palette listens at the document level, you can’t use ⌘K to insert a link while editing. To insert a link, select text and click Link on the bubble toolbar (or use a Markdown link directly: [text](url)).

⌘E — mode toggle, not inline code

Tiptap’s default Inline Code shortcut is ⌘E. Because the mode toggle listens at the document level, you can’t use ⌘E to toggle inline code while editing. To make inline code, select text and click Code on the bubble toolbar (or wrap in backticks: `inline code`).

What’s not bound

Just so you don’t go looking: