Every shortcut Monofile binds itself, grouped by where it applies. If a key is not on this page, Monofile does not claim it, and it belongs to your browser or to the editor component you are in.

> [!NOTE]
> **Modifier convention.** <kbd>Mod</kbd> below means <kbd>Cmd</kbd> on macOS and <kbd>Ctrl</kbd> on Windows and Linux. <kbd>Alt</kbd> is <kbd>Option</kbd> on a Mac. Shortcuts written with no modifier at all (<kbd>Esc</kbd>, <kbd>Delete</kbd>, <kbd>Enter</kbd>) do not fire while your cursor is in a text field, so they never eat what you are typing.

## Global

Available anywhere in the app.

| Keys | Action |
|---|---|
| <kbd>Mod</kbd> + <kbd>P</kbd> | Open the command palette in file quick-open |
| <kbd>Mod</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> | Open the command palette in command mode |
| <kbd>Mod</kbd> + <kbd>J</kbd> | Show or hide the AI chat panel |
| <kbd>Mod</kbd> + <kbd>B</kbd> | Show or hide the sidebar |
| <kbd>Mod</kbd> + <kbd>D</kbd> | Switch between light and dark mode |
| <kbd>Mod</kbd> + <kbd>,</kbd> | Open Settings |
| <kbd>Esc</kbd> | Close the file preview modal |

## File tree

| Keys | Action |
|---|---|
| <kbd>Alt</kbd> + <kbd>N</kbd> | New file at the workspace root |
| <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>N</kbd> | New folder at the workspace root |
| <kbd>Mod</kbd> + click | Add or remove one row from the selection |
| <kbd>Shift</kbd> + click | Select a range of rows |
| <kbd>Esc</kbd> | Clear the selection |
| <kbd>Delete</kbd> | Delete the selected files. Only when more than one row is selected |
| <kbd>Enter</kbd> | Commit an inline name, when creating or renaming |
| <kbd>Esc</kbd> | Cancel an inline name |

## Tabs and panes

| Keys | Action |
|---|---|
| <kbd>Mod</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd> | Switch between raw source and rendered view, for markdown, HTML and canvas files |

There is **no save shortcut**; Monofile saves as you type. There is no close-tab or switch-to-tab-N binding either; you manage tabs by click and drag. See [[Panes and Tabs]].

## The markdown editor

| Keys | Action |
|---|---|
| <kbd>Mod</kbd> + <kbd>K</kbd> | Open the inline composer. With text selected, the selection expands to whole blocks and the composer rewrites them |
| <kbd>Alt</kbd> + <kbd>Y</kbd> | Accept the pending inline AI change |
| <kbd>Alt</kbd> + <kbd>N</kbd> | Reject the pending inline AI change |
| <kbd>/</kbd> at the start of a line | Open the slash-command menu |
| `` `[[` `` | Open wiki-link autocomplete |
| <kbd>Up</kbd> and <kbd>Down</kbd> | Move through the slash or wiki-link menu |
| <kbd>Enter</kbd> | Insert the highlighted slash command or link |
| <kbd>Esc</kbd> | Close the menu, or leave a mermaid, math or frontmatter block you are editing |

Ordinary rich-text keys (bold, italic, undo, list indent) are the editor framework's defaults, unchanged. Code files use the code editor's own keymap, and drawings use the drawing canvas's own, and Monofile adds nothing on top of either.

## AI chat

| Keys | Action |
|---|---|
| <kbd>Mod</kbd> + <kbd>J</kbd> | Show or hide the panel |
| <kbd>Enter</kbd> | Send the message |
| <kbd>Shift</kbd> + <kbd>Enter</kbd> | Insert a newline instead of sending |
| <kbd>Esc</kbd> | Close the panel |
| <kbd>Up</kbd> and <kbd>Down</kbd> | Move through `@` file suggestions |
| <kbd>Enter</kbd> or <kbd>Tab</kbd> | Insert the highlighted file mention |
| <kbd>Esc</kbd> | Close the mention menu without closing the panel |

## The inline composer

Opened with <kbd>Mod</kbd> + <kbd>K</kbd> inside a markdown document.

| Keys | Action |
|---|---|
| <kbd>Enter</kbd> | Submit. With a selection, the result arrives in the document as an accept or reject change |
| <kbd>Alt</kbd> + <kbd>Enter</kbd> | Ask a question *about* the selection instead of rewriting it. The answer goes to the chat panel |
| <kbd>Shift</kbd> + <kbd>Enter</kbd> | Insert a newline |
| <kbd>Esc</kbd> | Close the composer |

See [[The Inline Composer]].

## Canvas boards

These apply while a `.canvas` board has keyboard focus, so they never collide with the file tree or the global shortcuts. Editing keys need an editable board.

| Keys | Action |
|---|---|
| <kbd>Enter</kbd> | Focus the selected file node, so you can interact with its content |
| <kbd>Esc</kbd> | Leave a focused node, or clear the selection |
| <kbd>Delete</kbd> or <kbd>Backspace</kbd> | Delete the selection |
| <kbd>Mod</kbd> + <kbd>Z</kbd> | Undo |
| <kbd>Mod</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd> | Redo |
| <kbd>Mod</kbd> + <kbd>Y</kbd> | Redo, alternate binding |
| <kbd>Mod</kbd> + <kbd>C</kbd> | Copy the selection |
| <kbd>Mod</kbd> + <kbd>V</kbd> | Paste |
| <kbd>Mod</kbd> + <kbd>D</kbd> | Duplicate the selection |
| <kbd>Mod</kbd> + <kbd>A</kbd> | Select every node |
| <kbd>Shift</kbd> + drag | Box-select |
| <kbd>Mod</kbd> + <kbd>Enter</kbd> | Commit a multi-line text edit |
| <kbd>Enter</kbd> | Commit a single-line field or an edge label |
| <kbd>Esc</kbd> | Cancel the edit and restore the previous value |

## Elsewhere

| Keys | Action | Where |
|---|---|---|
| <kbd>Mod</kbd> + <kbd>Enter</kbd> | Post the comment | Community and file comments |
| <kbd>Esc</kbd> | Cancel the reply or the edit | Community and file comments |
| <kbd>Enter</kbd> | Create the checkpoint | The checkpoint name field |
| <kbd>Backspace</kbd> on an empty input | Step back out of a palette sub-page | Command palette |

## Next steps

:::cards
- [[Panes and Tabs]] — Split panes, tabs, and the layout that persists between sessions.
- [[Finding Things]] — The command palette, filename search and semantic search over your files.
- [[The Inline Composer]] — Generate or rewrite text in place with the editor composer.
- [[The Markdown Editor]] — Live WYSIWYG editing, slash commands, and how saving works.
:::
