Keyboard shortcuts¶
On macOS, use Cmd where Ctrl is shown.
These are the default shortcuts. You can give most commands of the menus other keys, remove a shortcut or give a command without one a shortcut in Settings → Keyboard; the menus and the command palette always show the shortcut in effect. Cut, Copy, Paste, Previous Prompt, Next Prompt, the zoom keys, F12, Ctrl+Tab, Ctrl+Shift+Tab and the tab jump keys stay fixed.
General¶
| Shortcut | Action |
|---|---|
| Ctrl+Shift+P | Open or close the command palette to find and run any menu command by name, run a terminal or tab command such as Clear Buffer, switch to an open tab, connect to a saved connection or run a snippet (also while a terminal has the focus) |
| Ctrl+T | New Tab (Quick Connect) |
| Ctrl+W | Close Tab |
| Ctrl+Alt+Shift+T | Reopen the last closed terminal tab (also while a terminal has the focus) |
| Ctrl+Shift+N | New Window |
| Ctrl+Shift+W | Close Window |
| Ctrl+Tab | Next Tab (Ctrl on macOS too); with most-recently-used order on, the tab used before the current one |
| Ctrl+Shift+Tab | Previous Tab (Ctrl on macOS too); with most-recently-used order on, the tab used longest ago |
| Ctrl+1 … Ctrl+8 | Jump to the first to eighth tab of the window (top row or numpad) |
| Ctrl+9 | Jump to the last tab of the window |
| Ctrl+O | Open Project |
| Ctrl+S | Save Project |
| Ctrl+Shift+B | Create Backup |
| Ctrl+Q | Quit |
| Ctrl+X | Cut (disabled for terminal tabs) |
| Ctrl+C | Copy |
| Ctrl+V | Paste |
| Ctrl+F | Find in the active tab (in a focused terminal on Windows and Linux the key goes to the shell, see Terminal) |
| Ctrl+Shift+Space | Quick Select: label the web addresses, paths, e-mail addresses, IP addresses, hashes and numbers the focused terminal pane shows, to copy one or open it with a key (terminal tabs only), see Quick select |
| Ctrl+K | Quick Connect |
| Ctrl+M | Manage Connections |
| Ctrl+Shift+U | SFTP client |
| Ctrl+Shift+M | Manage credentials (also while a terminal has the focus) |
| Ctrl+Shift+G | Manage GPG keys |
| Ctrl+Shift+I | Manage SSH keys |
| Ctrl+, | Global Settings |
| Ctrl+Shift+S | Snippet Manager |
| Ctrl+Shift+J | JobScheduler |
| Ctrl+Shift+V | Video Manager |
| Ctrl+Shift+E | Start / stop terminal recording |
| Ctrl+Alt+J | Session Journals |
| Ctrl+Alt+T | Start / stop the session journal of the active tab |
| Ctrl+Alt+C | Add a screenshot to the running session journal |
| Ctrl+Alt+L | Show/hide the live journal panel on its last-used side |
| Ctrl+Alt+G | Show/hide the Coding Agents panel on its last-used side |
| Ctrl+Alt+N | Jump to the next coding agent waiting for a decision, across windows |
| Ctrl+Shift+A | ASCII Art |
| Ctrl+Shift+Y | Open AI Manager |
| Ctrl+Alt+A | Open AI Agent |
| Ctrl+Alt+P | Open AI Planning |
| Ctrl+Alt+S | Open AI Swarm |
| Ctrl+Shift+D | Toggle Dashboard |
| Ctrl+Shift+T | Toggle command timestamps |
| Ctrl+Shift+L | Show / Hide Menu Bar |
| Ctrl+Shift+K | Dock the file browser on the left |
| Ctrl+Shift+R | Dock the file browser on the right |
| Alt++ | Zoom In |
| Alt+- | Zoom Out |
| Alt+0 | Reset Zoom |
| Ctrl + mouse wheel | Zoom the terminal font in/out (Cmd + wheel on macOS) |
| Ctrl+D | Close a local cmd.exe/PowerShell tab (EOF for bash-family shells and SSH) |
| F1 | Open the manual (Help → Manual) |
| F12 | Toggle Fullscreen |
| Ctrl+Shift+F | Toggle Terminal-only Fullscreen |
| Ctrl+Shift+H | Switch keyword highlighting on or off for the focused terminal pane |
The zoom keys (Ctrl or Alt with + / - / 0; Cmd on macOS) zoom the terminal only while a terminal tab is selected. In a snippet editor or file editor tab they reach the editor, and AltGr++ types its character there.
The tab jump keys work in every tab, also while a terminal or an editor has the focus, and a number with no tab at its position does nothing. On macOS they are Cmd with a digit, and Cmd+Shift with a digit works too, so a French (AZERTY) Mac can reach its digits (macOS keeps Cmd+Shift+3 to Cmd+Shift+5 for screenshots). On Windows and Linux they are exactly Ctrl with a digit: AltGr combinations (which arrive as Ctrl+Alt) and Ctrl+Shift+6 (the Cisco break sequence) still reach the terminal. A digit key that types + or - in your layout, such as the AZERTY 6 key, stays a zoom key instead. On Linux with a layout whose number row types other characters, the top-row digits may not jump; the numpad digits (with Num Lock on) do.
Ctrl+Tab and Ctrl+Shift+Tab follow the tab bar unless Ctrl+Tab switches tabs in the order they were last used is on in the Window settings. Then Ctrl+Tab goes back to the tab you used before the current one; keep Ctrl held and press Tab again to go further back, add Shift to step the other way, and release Ctrl at the tab you want. Only that tab counts as used. Any other key ends the step-through first and then acts on the tab you stopped at.
Reopen Closed Tab uses Ctrl+Alt+Shift+T because Ctrl+Shift+T toggles the command timestamps and Ctrl+Alt+T the session journal. On Windows, AltGr arrives as Ctrl+Alt, so on a layout where AltGr+Shift+T types a character (such as Þ on US-International) that combination reopens a closed tab instead, and the character is not typed.
Terminal¶
These keys work while a terminal pane has the focus. For how they behave with several panes, see Broadcast mode.
| Shortcut | Action |
|---|---|
| Ctrl+Shift+C / Ctrl+Shift+V | Copy the terminal selection / paste into the terminal (Windows and Linux; Cmd+C / Cmd+V on macOS) |
| Ctrl+V (Windows) | Paste into the terminal; on Linux Ctrl+V goes to the shell |
| Ctrl+L (Windows and Linux) | Sent to the shell: redraws or clears the screen in bash, psql or a REPL, and the scrollback is kept |
| Ctrl+F (Windows and Linux) | Sent to the shell: moves the cursor one character forward at a bash prompt and pages forward in less or vim |
| Cmd+K (macOS) | Clear Buffer: empty the terminal screen and its scrollback |
| Cmd+F (macOS) | Find in the terminal scrollback |
| Shift+Tab | Back-tab (ESC [ Z), for example to go back one field or panel in a full-screen program |
| Ctrl+Left / Ctrl+Right | Move one word left / right in the shell (Windows and Linux) |
| Option+Left / Option+Right | Move one word left / right on macOS (sends ESC b / ESC f, as Terminal.app does) |
| Shift+Page Up / Shift+Page Down | Scroll korTTY's scrollback by a page; inside a full-screen program such as vim, less or mc the key goes to the program |
| Ctrl+Up / Ctrl+Down | Scroll korTTY's scrollback by a line (Cmd+Up / Cmd+Down on macOS); on Windows and Linux the keys go to a full-screen program instead while one runs |
| Ctrl+Shift+Up / Ctrl+Shift+Down | Jump to the previous / next prompt (Cmd+Shift+Up / Cmd+Shift+Down on macOS) in a pane whose shell is set up for shell integration; in a pane without prompt marks, and while a full-screen program runs, the keys reach the program as before |
| Ctrl+Tab / Ctrl+Shift+Tab | Next / previous tab, also while the terminal has the focus (the Ctrl key on macOS too) |
| Ctrl+1 … Ctrl+9 | Jump to a tab, also while the terminal has the focus (Cmd on macOS, see General) |
| Ctrl+Alt+Shift+T | Reopen the last closed terminal tab, also while the terminal has the focus (Cmd+Option+Shift+T on macOS) |
| Ctrl + click on a link | Open the link in the browser or mail program (Cmd + click on macOS), also a web or e-mail address printed as plain text; a file path or file: link opens as text in the Snippet Editor in SSH and local-shell tabs; a plain click on a link does nothing, and right-click → Open Link or Open File in Snippet Editor works without the key, see Links in terminal output |
| a label's letters / Shift + the last letter (while quick select runs) | Copy the labelled text / open a web or e-mail address, or a file path in the Snippet Editor; Backspace takes back the first letter of a two-letter label, Esc or any other key ends quick select, see Quick select |
On Windows and Linux, Ctrl+1 to Ctrl+9 no longer reach the program in the terminal: korTTY's terminal never sent them as keys of their own, so no program loses a binding it could receive.
On Windows and Linux, Clear Buffer and Find have no key of their own, so Ctrl+L and Ctrl+F stay with the programs running in the terminal. Use right-click → Clear Buffer or Find in the terminal, Edit → Find… with the mouse, or reach both from the keyboard through the command palette: Ctrl+Shift+P, type clear or find, Enter. Ctrl+Shift+F stays Terminal-only Fullscreen and Ctrl+Shift+K still docks the file browser on the left. Ctrl+Shift+H switches keyword highlighting and does not reach the terminal, while plain Ctrl+H still reaches the shell as backspace.
The paste keys go through paste protection: a paste with line breaks, with control characters or of a large size can open a confirmation first. In that dialog Cancel is the default button, so Enter, Space and Esc drop the paste; click Paste, or press Tab to reach it and Space to press it. While a paste is sent line by line (Pause after each pasted line), the pane takes no other keys and Esc stops the paste.
Every other combination of Shift, Ctrl and Alt with the arrow keys, Home / End, Page Up / Page Down, Ins / Del and F1 to F11 is sent the way xterm sends it (F12 always toggles fullscreen, and in a tab with two or more panes Ctrl+Alt with an arrow key moves the focus to another pane instead, see Panes), for example Ctrl+Page Up as ESC [ 5 ; 5 ~ and Shift+F1 as ESC [ 1 ; 2 P. The arrow keys follow the program's cursor-key mode: mc and vim switch it on and then receive ESC O A, while a shell receives ESC [ A. Connections with a non-xterm terminal emulation (Wyse, TeleVideo, HP, SCO ANSI, IBM 3270/5250, PETSCII) keep sending fixed sequences without modifiers.
Panes¶
These keys split the active terminal tab, move the keyboard focus between its panes and zoom one of them; see Split operations.
| Shortcut | Action |
|---|---|
| Ctrl+Shift+O | Split the focused pane on that pane's own server: to the right when the pane is wide, below it when it is tall; the new pane gets the focus (Cmd+Shift+O on macOS) |
| Ctrl+Alt+Left / Ctrl+Alt+Right | Move the focus to the pane on the left / right (Cmd+Option+Left / Cmd+Option+Right on macOS) |
| Ctrl+Alt+Up / Ctrl+Alt+Down | Move the focus to the pane above / below (Cmd+Option+Up / Cmd+Option+Down on macOS) |
| Ctrl+Shift+Enter | Zoom the focused pane so it fills the tab, or show all panes again (Cmd+Shift+Enter on macOS) |
The split key works in every terminal tab while the keyboard is in it. On Windows and Linux it no longer reaches the shell, which received it as Ctrl+O; Ctrl+O itself still does, so nano still saves with it.
The focus keys and the zoom key act only while a terminal tab with two or more panes is active and the keyboard is in that tab; with a single pane they reach the program in the terminal as before, Ctrl+Shift+Enter as Enter. At the edge of the tab the focus stays where it is. When several panes lie on that side, the focus goes to the one that lies beside the focused pane rather than only touching its corner, and among those to the nearest one. Moving the focus while a pane is zoomed shows all panes again. View → Panes has the same commands, Split Right and Split Down to choose the side of a split, Close Pane, Zoom Pane, and Next Pane and Previous Pane, which go through all panes of the tab and start over after the last one. The command palette runs every one of them by name, and its rows show the keys of the table above.
A desktop shortcut can take these keys first
Some Linux desktops, such as GNOME, Xfce and Cinnamon, switch workspaces with Ctrl+Alt and an arrow key, and some Windows graphics drivers (Intel) rotate the screen with it, before korTTY sees the key. Use View → Panes there, or switch off the desktop's shortcut.
Command palette¶
These keys work while the command palette is open. Every other key stays in the palette and never reaches the terminal behind it.
| Shortcut | Action |
|---|---|
| Up / Down | Choose a row |
| Enter | Close the palette and run the chosen row, or the first row when none is chosen |
| Alt+Enter | Open the chosen snippet in the Snippet Manager instead of running it (Option+Enter on macOS); on any other row the same as Enter |
| Tab / Shift+Tab | Move between the search field and the list |
| Esc or Ctrl+Shift+P | Close the palette (Cmd+Shift+P on macOS) |
View → Snippet Palette… opens the palette with only the snippets listed and has no shortcut by default, because Ctrl+Shift+J already opens the JobScheduler. Once you give it one in Settings → Keyboard, that key opens the snippet palette also while a terminal has the focus, and pressing it while the palette is open closes the palette like Esc. The snippet you choose runs in the focused pane of its terminal tab.
SFTP Manager¶
These keys work in the local and the remote list of an SFTP Manager tab; see Keys.
| Shortcut | Action |
|---|---|
| F2 | Rename the selected entry |
| Del or Ctrl+Backspace | Delete the selection, after confirmation |
Snippet Manager¶
These keys work in the Snippet Manager (library and editor tabs); see Opening the Snippet Manager.
| Shortcut | Action |
|---|---|
| Ctrl+Shift+S | Open the Snippet Manager, or focus its search field when it is already open |
| Up / Down (list) | Browse: show the selected snippet in the read-only preview tab |
| Enter (list) | Open the selected snippet in an editor tab |
| Typing (preview tab) | Open the previewed snippet in an editor tab; the typed character is kept |
| Ctrl+S | Save the active editor tab (also in a standalone snippet editor window) |
| Ctrl+W | Close the active editor tab (asks about unsaved changes) |
| Ctrl+B | Hide or show the library, giving the editor tabs the full width |
| Ctrl+P | Quick open: find a snippet by part of its name or a tag and open it in an editor tab (Up / Down choose, Enter opens, Esc closes) |
| Esc (search field) | Clear the search; Esc never closes the Snippet Manager |
| Down (search field) | Move to the snippet list (selects the first snippet when none is selected) |
If the focus is on the Snippet Manager's own tab header in the main window (tab mode), Ctrl+S still saves the project, and Ctrl+W closes the Snippet Manager tab after asking about unsaved changes.
Snippet editor¶
These keys work inside the snippet editor's code field; see AI Code completions.
| Shortcut | Action |
|---|---|
| Shift+Tab (cursor at the end of a line with text) | Open the completion list (the combination is configurable, see Snippet Editor settings) |
| Ctrl+Space | Open the completion list anywhere (on macOS the physical Ctrl key, not Cmd; Cmd+I and Alt+Esc work there too, because macOS often reserves Ctrl+Space for switching input sources) |
| Up / Down (list open) | Move the selection; typing filters the list |
| Tab or Enter (list open) | Insert the selected entry |
| Esc | Close the list, or dismiss ghost text |
| Esc (an AI request runs) | Stop the running AI request of this editor — an AI Code action, the Full code analysis or its apply, a diagram; works in the whole editor and its analysis panel, never closes the editor (see Stopping and retrying AI requests) |
| Enter (New analysis area of the analysis panel) | Start the Full code analysis with the chosen AI profile (see Choosing the AI profile before the analysis starts) |
| Tab (ghost text visible) | Accept the ghost text |
| Alt+] / Alt+[ (ghost text visible) | Next / previous ghost-text candidate (physical ] and [ keys of a US layout) |
| Tab (inside an inserted idiom template) | Jump to the next placeholder |
| Shift+Tab (anywhere else, or when another combination is configured) | Outdent the line, as before |
| Ctrl+Enter (change review shown) | Accept & apply the reviewed AI change (see Reviewing an AI change); Esc does nothing there |
| Ctrl++ / Ctrl+- (change review shown) | Zoom the review's code font |
Diagram zoom window¶
These keys work in the zoom window of the Full code analysis flow diagram; see Full code analysis.
| Shortcut | Action |
|---|---|
| Ctrl++ / Ctrl+- | Zoom in / out |
| Ctrl+0 | Fit the diagram into the window |
| Ctrl+1 | Show the diagram at 100 % |
| Ctrl + mouse wheel | Zoom (Cmd + wheel on macOS) |
Terminal AI agent¶
| Shortcut | Action |
|---|---|
agent + Tab (at shell prompt) |
Show agent command variants (agent, agent-ask, agent-plan) |
agent + Tab (at shell prompt) |
Show recent agent-prompt history (newest first) |
| Esc or Ctrl+C (during a run) | Cancel the selected agent run's tab |
| Ctrl+R (during a run) | Toggle thinking details for the selected run |
| ⏸ (activity panel) | Pause the selected run at a safe checkpoint |
| ▶️ (activity panel) | Resume a paused run |
Note
The complete, always-current shortcut list is generated from the application's accelerator definitions. If a shortcut here differs from what the app shows, the app is authoritative.