Skriuw Documentation

Keyboard shortcuts

Every keyboard shortcut in Skriuw v2 - what it does, where it fires, and how to rebind it.

Skriuw v2 is keyboard-first. Every global shortcut is registered in a single definitions table (v2/app/src/shortcuts/definitions.ts), which makes all of them rebindable from settings, conflict-checked when you record a new combo, and consistently displayed with platform-aware labels.

mod means Cmd on macOS and Ctrl everywhere else. Every binding below is rebindable from Settings → Shortcuts, and mod+/ opens a live cheat sheet in-app that reflects your rebinds - it's the source of truth if this page and your settings ever disagree.

How shortcuts are scoped

Shortcuts don't all fire everywhere. A few mechanisms control when a binding is live:

  • Scopes - a binding can require a named scope (like note-focus, tags-route, tabs, or split) that the workspace activates per route or app mode. The same key can mean different things in different places, and a scoped binding is a silent no-op when its scope isn't active (for example, the tab-by-index keys do nothing while the tabbed workspace is off).
  • Typing guard - bindings marked as working while typing use modifier chords that can't collide with text input. Plain-key shortcuts (like the sidebar's r to rename) only exist inside their own focused surface and never steal typed characters.
  • Focused surface - the sidebar tree, the editor, and the find panel each own some keys locally. Local handlers win over global bindings.
  • Platform - a few defaults are deliberately unregistered on macOS where the OS or the app itself already owns the combo; the table below calls those out. Since every binding is rebindable, you can still assign the combo yourself.

Global shortcuts

General

ShortcutActionNotes
mod+kOpen command palette
mod+,Open settings
mod+/Show keyboard shortcutsOpens a live cheat sheet reflecting your rebinds, with g t <n> sequences shown step by step and bindings that don't apply on your OS hidden. Fires even from inside a note; a second press or Escape closes it.
mod+shift+qQuit

Workspace

ShortcutActionNotes
mod+nNew note
mod+shift+nNew folder
mod+shift+tNew tagTags route only
mod+shift+pNew person
mod+pPin or unpin current note
F2Rename current noteRenames the open note via the sidebar's inline rename. The sidebar's own F2 still renames whichever row is focused there.
mod+backspace (or mod+delete)Move current note to trashTrashes the open note, with an undo toast. Overrides the macOS text-field "delete to line start" default while the caret is in a note; no-op when the sidebar tree has focus, since the tree owns Delete for its own rows.
mod+shift+dDuplicate current noteCopies the open note with a " (copy)" suffix and a fresh identity - links inside it are not rewritten, and the copy starts unpinned. Overrides the browser's bookmark-all-tabs default on web.
ctrl+shift+oImport a markdown fileOpens an OS file picker filtered to .md, .markdown, and .txt, then runs the normal import preview flow. Imports into the focused sidebar folder, or the root if none is focused. Desktop (Tauri) only - the v2 web app has no file-system bridge for it.
mod+mToggle raw Markdown modeSwitches the open note between block editing and markdown source

Tabs and splits

ShortcutActionNotes
mod+wClose tab
mod+shift+wReopen closed tabReopens the last tab closed in this pane, walking back through the ten most recent (trashed notes are skipped). Deliberately not ctrl+shift+t - that combo is already New tag, so this is the undo of Close tab instead. Tabs scope only.
ctrl+shift+pageup / pagedownMove tab left / rightWraps at the ends. Browsers own this combo for their own tab strip, so it's reliable on desktop and best-effort on web. Tabs scope only.
ctrl+tabNext tab
ctrl+shift+tabPrevious tab
alt+1alt+9Go to tab by positionAlt, not mod/ctrl - ctrl+digit is already taken by focus and zoom, and this matches VS Code. Tabs scope only, silent no-op with tabs off.
alt+0Go to last tabSame scoping as above.
mod+backslashOpen current note beside (split view)
mod+shift+backslashClose split view
ShortcutActionNotes
mod+bToggle sidebar
ctrl+shift+bToggle metadata panel
mod+eFocus current note in sidebar
mod+2 (or / outside the editor)Focus editorWith a split open, returns to whichever pane had focus last.
mod+3Focus metadata panel
mod+alt+← / Focus split pane left / rightNo wrap; no-op with a single pane. Some Linux desktop environments and macOS apps also claim mod+alt+arrow, so rebind if the OS wins. Split scope only.
ctrl+shift+[ / ]Previous / next note
mod+shift+1 (or g t 1)Go to notesThe g t <n> sequence has a one-second timeout, is blocked while typing or behind a modal, and its digit order follows the sidebar rail's top-to-bottom order.
mod+shift+2 (or g t 2)Go to tags
mod+shift+3 (or g t 3)Go to people
mod+shift+4 (or g t 4)Go to trash

View

ShortcutAction
mod+enterToggle maximize
mod+equalZoom in
mod+minusZoom out
mod+0Reset zoom

Editor

ShortcutActionNotes
mod+gJump to lineRaw Markdown mode only - block mode has no line numbers to jump to. Overrides Firefox's find-again default on web.
ctrl+↑Jump to start of noteNot registered on macOS, where cmd+↑ already does this natively (ctrl+Home still works there too). Moves the caret and scrolls, unlike VS Code's viewport-only scroll on the same combo.
ctrl+↓Jump to end of noteSame macOS exclusion and VS Code contrast as above.
ShortcutActionNotes
mod+fFind in noteRequires an open, focused note
mod+h (or mod+alt+f)Find and replace in noteOpens the find panel with the replace row expanded; if the panel is already open it expands in place, keeping your query and match position, and never toggle-closes. Overrides the browser's history shortcut on web. mod+alt+f is VS Code's macOS default, since cmd+h hides the app there. Block mode only today - markdown mode has no find panel, same as mod+f.
alt+cToggle match caseWhile the find panel is open
alt+wToggle whole wordWhile the find panel is open
alt+rToggle regular expressionWhile the find panel is open

These plain keys only exist while the sidebar tree has focus - they never fire while you're typing in a note or input.

KeyAction
/ Move focus between rows (wraps; shift extends the selection)
Expand folder, or step into its first child
Collapse folder, or step to the parent
enterOpen note / toggle folder
F2 or rRename the focused row inline
mPick up the focused/selected rows, then arrows + enter to move them
alt+↑ / alt+↓Reorder the focused row among its siblings
deleteMove the focused/selected rows to trash
mod+aSelect all rows
mod+fOpen the sidebar filter

With a row's context menu open: r renames, d / delete / backspace trashes.

Note that the global F2 and mod+backspace / mod+delete shortcuts above act on whichever note is open in the editor, not the sidebar's focused row - the two stay independent, and the tree keeps precedence for its own rows.

Rebinding

Open settings (mod+,) and use the shortcut recorder to change any global binding. The recorder captures the combo you press, warns when it collides with another action's effective binding, and stores the override per workspace. Combos compare by their parsed form, so mod+k, Ctrl + K, and a recorded ctrl+k are treated as the same binding on platforms where mod means ctrl.

On this page