Keyboard shortcuts
Subspace is built for keyboard-first editing: almost everything you can do
with a mouse in the outliner has a keyboard
equivalent, and ⌘↵ is the one shortcut that shows up everywhere as
“activate this node.” Shortcuts are written in macOS notation (⌘ = Cmd);
on Windows/Linux use Ctrl in place of ⌘ and Alt in place of ⌥ unless
noted otherwise.
Outliner navigation and editing
Section titled “Outliner navigation and editing”| Shortcut | Action |
|---|---|
Enter |
On a leaf bullet, create a new sibling below. On a parent, create the node’s first child (cursor-adjacent). On a folded parent, unfold it in the current window first. |
Tab |
Indent the current bullet (make it a child of the bullet above). |
Shift+Tab |
Outdent the current bullet. |
Backspace |
On an empty node, delete it. |
↑ / ↓ |
Move focus to the previous/next bullet. |
Escape |
Commit the current edit. |
⌘Z |
Undo your own last command. |
⌘⇧Z |
Redo. |
⌘⇧M |
Toggle the page metadata panel (the JSON “EDN map”). |
| Click a bullet dot | Zoom into that node (it becomes the view root). |
| Click the fold chevron (▾/▸) in the row’s left gutter | Fold or unfold that bullet’s children. |
⌥↵ (or ⇧-click a bullet dot) |
Desktop shell only: open that bullet zoomed in a side-by-side pane. |
⌥⇧↵ |
Desktop shell only: promote that bullet to a new tab. |
Rich elements
Section titled “Rich elements”⌘↵ is the universal “activate node” shortcut across every element type.
| Shortcut | Where | Action |
|---|---|---|
⌘↵ |
plain bullet | Send the bullet’s text as an instruction to the default agent. |
⌘↵ |
code cell | Execute the cell (same as the header run button). |
⌘↵ |
custom-function call (name(...)) |
Convert the bullet into a live function element. |
⌘↵ |
completed slash command (/name …) or agent invocation |
Invoke it (same as pressing Enter). |
` (backtick) at the start of a bullet |
plain bullet | Convert it to a code cell. |
/ at the start of a bullet |
plain bullet | Open the slash menu (custom functions and agents, filterable). |
[[ inside an argument or link |
any text | Open page autocomplete. |
Enter / blur |
table cell | Commit the edit. |
Escape |
table cell | Cancel the edit. |
See Rich elements overview, Code cells, and Custom functions for what each element does.
Search and command palette
Section titled “Search and command palette”| Shortcut | Action |
|---|---|
⌘K |
Open hybrid search (pages, nodes, memory, files, mail) over the whole knowledge base. See Search. |
⌘⇧Space |
Desktop shell only: open the always-on-top quick capture palette (global hotkey, configurable). |
↵ in the quick capture palette |
File the captured line to the inbox. |
⇥ in the quick capture palette |
Run the captured line as a command instead of filing it. |
Desktop shell
Section titled “Desktop shell”These apply only when running the Electron desktop app (or the web SPA in desktop mode).
| Shortcut | Action |
|---|---|
⌘T (or the + tab-strip button) |
Add a new workspace-root tab. |
⌘W (or the × tab-strip button) |
Close the active tab. |
⌘⇧W |
Close the window (macOS rebinds this at the app-menu level so ⌘W reaches the renderer for tab-close instead). |
Click the ◫ affordance on a tab |
Split the pane right (side-by-side view). |
Mail keys are scoped to the mail page and go dead while compose is open or any input is focused.
| Shortcut | Action |
|---|---|
j / k |
Move the thread-list selection down/up. |
Enter |
Open the selected thread. |
u / Escape |
Back to the thread list. |
e |
Archive the selected row (or the open thread), dropping it from Inbox to the Skipped section. |
r |
Reply: opens compose prefilled with To / Re: subject / thread id. |
c |
Blank compose. |
⌘↵ |
In compose, send the message (same as clicking Send). |
See also
Section titled “See also”The outlinerThe full editing model these shortcuts operate on.
Rich elements overviewTables, code cells, custom functions, terminals.
MailThe inbox this shortcut set drives.
DesktopTabs, panes, headless apps, and the quick capture palette in full.