Keyboard shortcuts
Every key Pandia binds, grouped by what it does.
Most shortcuts come from the native menu bar, so they work from any view unless a focused text field has already taken the key. Press ⌘/ to open the same list inside the app. The tables below show the macOS keys. See Windows and Linux for the one substitution you need.
Files & tabs
Each document opens in its own tab, and each tab keeps its own history. Reach for these keys when you are moving documents in and out of the app.
| Action | Shortcut |
|---|---|
| New tab | ⌘T |
| New file (opens an empty tab) | ⌘N |
| Open file… | ⌘O |
| Save | ⌘S |
| Save as… | ⌘⇧S |
| Export… | ⌘E |
| Next tab | ⌘⇧] |
| Previous tab | ⌘⇧[ |
| Close tab | ⌘W |
Views
The four number keys swap the current document between views without reloading it. Switch when the task changes: an outline to browse, raw text to read line by line, a table to sort, a diagram to follow structure. See Views for what each one does.
| Action | Shortcut |
|---|---|
| Command palette | ⌘K |
| Tree view | ⌘1 |
| Code view | ⌘2 |
| Grid view | ⌘3 |
| Graph view | ⌘4 |
| Toggle sidebar | ⌘B |
Search & navigation
Find opens a bar over the current view and highlights every match. Once you have matches, step through them with ⌘G instead of going back to the bar. Search is substring and case-insensitive. See Search & replace.
| Action | Shortcut |
|---|---|
| Find in document… | ⌘F |
| Find next | ⌘G |
| Find previous | ⌘⇧G |
| Find and replace… | ⌘H |
Editing
Undo and redo work on the document as a whole and are kept per tab. The rest of the editing keys depend on which view you are in.
| Action | Shortcut |
|---|---|
| Undo | ⌘Z |
| Redo | ⌘⇧Z |
In the Tree
Tree edits are committed one value at a time. Multi-line strings need ⌘⏎, because a plain ⏎ inserts a newline there.
| Action | Shortcut |
|---|---|
| Commit an edit | ⏎ |
| Commit a multi-line string | ⌘⏎ |
| Cancel an edit | Esc |
| Open the row menu (or right-click) | Ctrl Q |
In the Code view
Code view edits sit in a buffer until you commit them, so nothing changes the document until you press ⌘⏎. Folding helps when you are reading a deeply nested file.
| Action | Shortcut |
|---|---|
| Commit the buffer | ⌘⏎ |
| Revert to the last saved state | Esc |
| Fold at the cursor | ⌘[ |
| Unfold at the cursor | ⌘] |
Compare, validate & settings
Compare asks what to diff against — another open tab or a file on disk. Validate opens the schema panel, where you attach a JSON Schema and read the errors it reports.
| Action | Shortcut |
|---|---|
| Compare files | ⌘D |
| Validate JSON | ⌘⇧V |
| Settings | ⌘, |
| Keyboard shortcuts | ⌘/ |
Windows and Linux
Use Ctrl in place of ⌘. ⌘S becomes Ctrl S, ⌘⇧Z becomes Ctrl Shift Z, and so on. The row menu is the exception: it is Ctrl Q on every platform, including macOS.
Command palette
Press ⌘K to open the palette. It fuzzy-matches every command by label and shows the shortcut next to any command that has one, which makes it the fastest way to learn the keys you don't know yet.
Plenty of actions have no shortcut and live only in the palette or the row menu: Go to Path, Extract to New Tab, Sort Keys, Expand All, Copy Path, and the type generators for TypeScript, Rust, Go and the rest. See Type generation.