# Keyboard Shortcuts

Defaults for the desktop app. Change any of them in **Settings → Keyboard**.

## Tabs and panes

| Action | Shortcut |
| --- | --- |
| New tab | `Ctrl+Shift+T` |
| New tab in Home | `Ctrl+Shift+N` |
| New tab in project | `Ctrl+Alt+N` |
| Close pane | `Ctrl+Shift+W` |
| Close tab | `Ctrl+Alt+W` |
| Split right | `Ctrl+Shift+D` |
| Split down | `Ctrl+Shift+Alt+D` |
| Focus pane left / right / up / down | `Alt+Arrows` |
| Zoom pane | `Ctrl+Shift+Return` |
| Equalize splits | `Ctrl+Alt+=` |
| Next / previous tab | `Ctrl+PageDown` / `Ctrl+PageUp`, or `Ctrl+Tab` / `Ctrl+Shift+Tab` |
| Go to tab 1–9 | `Alt+1`–`Alt+9` |
| Existing terminals | `Ctrl+Shift+Alt+T` |

## Projects and navigation

| Action | Shortcut |
| --- | --- |
| Add project | `Ctrl+Shift+O` |
| Next / previous project | `Ctrl+]` / `Ctrl+[` |
| Go to project 1–9 | `Ctrl+1`–`Ctrl+9` |
| Back / forward | `Ctrl+Shift+Left` / `Ctrl+Shift+Right` |
| Toggle sidebar | `Ctrl+Shift+B` |
| Command palette | `Ctrl+Shift+P` |
| Theme picker | `Ctrl+Alt+K` |
| Settings | `Ctrl+,` |
| Full screen | `F11` |
| Minimize | `Ctrl+Shift+M` |
| Quit | `Ctrl+Shift+Q` |

## Terminal

| Action | Shortcut |
| --- | --- |
| Copy / paste | `Ctrl+Shift+C` / `Ctrl+Shift+V` |
| Select all | `Ctrl+Shift+A` |
| Find / next / previous | `Ctrl+Shift+F` / `Ctrl+Shift+G` / `Ctrl+Alt+G` |
| Previous / next prompt | `Ctrl+Shift+Up` / `Ctrl+Shift+Down` |
| Font size bigger / smaller | `Ctrl+=` / `Ctrl+-` |
| Scroll to top / bottom | `Ctrl+Shift+Home` / `Ctrl+Shift+End` |
| Scroll a page up / down | `Shift+PageUp` / `Shift+PageDown` |
| Line feed (`Ctrl+J`) | `Shift+Return` |

A line feed is a new line in many AI tools, but shells treat it like Return.
Other `Ctrl` keys, such as `Ctrl+C`, go to the program in the terminal.

## Browser

| Action | Shortcut |
| --- | --- |
| New browser tab | `Ctrl+Alt+B` |
| Address bar | `Ctrl+L` |
| Reload | `Ctrl+R` |
| Back / forward | `Alt+Left` / `Alt+Right` |
| Find on page | `Ctrl+Shift+F` |
| Zoom in / out / reset | `Ctrl+=` / `Ctrl+-` / `Ctrl+0` |
| Copy address | `Ctrl+Shift+C` |
| Web Inspector | `Ctrl+Shift+I` |

## Composer and dictation

| Action | Shortcut |
| --- | --- |
| Toggle composer | `Ctrl+Shift+I` |
| Send / send without Return | `Ctrl+Return` / `Ctrl+Shift+Return` |
| Dictation | `Ctrl+Alt+I` |

## Changing shortcuts

- In **Settings → Keyboard**, click a shortcut and press the new keys.
  **Reset** restores the default. Nana refuses keys that are already taken.
- Changes are saved to `settings.toml` under `[keymap]`, for example
  `split_right = "ctrl-alt-d"`.
- Terminal keys such as copy, paste, and scrolling have built-in bindings. Add
  your own in **Settings → Terminal → Key bindings**; they take precedence while
  a terminal is focused.
- Commands from **Settings → Commands** and kibbles can have shortcuts too.