Keybindings

The shortcuts you can rebind, how rebinding works, and the substantial list of shortcuts that work but don't appear in this tab.

Two lists — Editor and Agentic Chat — showing the app's shortcuts and letting you change most of them.

Rebinding#

Click the shortcut, then press the new keys. The pill reads Press keys… while it's listening, and every keystroke is captured rather than acted on, so you can't accidentally trigger something mid-rebind.

Escape cancels, and so does clicking anywhere else.

Your combination must include Ctrl (or Cmd) or Alt. A bare letter or function key is rejected and the pill keeps waiting — these are global bindings, and a bare key would hijack typing everywhere.

If the combination is already used by another shortcut in this tab, nothing is saved and the row tells you which one has it: Already used by "Toggle terminal". If it's a combination your browser or OS normally owns — Ctrl+W, Ctrl+R, Ctrl+Q and friends — you get an amber warning but the binding is saved. That's a judgement call left to you.

A small ⟲ appears next to any shortcut you've changed, to put it back. There's no reset-all.

Note

Keybindings are stored per project. Rebind something here and other projects keep the defaults.

What you can rebind#

Everything in this group is driven by this tab, and takes effect immediately.

Shortcut Does
Ctrl+J Show/hide the terminal
Ctrl+B Show/hide the side panels
Ctrl+Shift+A Show/hide the agent panel (does nothing in runs mode)
Ctrl+Shift+F Open Search and focus it
Ctrl+, Open/close Settings
Ctrl+Shift+E Open/close Extensions
Ctrl+Shift+G Show/hide the gizmo
Ctrl+T New chat
Ctrl+Tab / Ctrl+Shift+Tab Next / previous chat tab
Ctrl+Shift+→ / Ctrl+Shift+← Next / previous chat tab (second binding)
Ctrl+Shift+↓ / Ctrl+Shift+↑ Minimise / restore all run cards

What you can't#

These appear in the tab greyed out. They work; they just can't be changed.

Shortcut Does
Ctrl+S Save the open file
Enter Send the chat message (Shift+Enter for a newline)
Escape Stop the agent
F2 Rename the focused item in the explorer
Delete Delete the selected explorer items
Enter Open the focused file or folder in the explorer
Ctrl+1–9 Jump to chat tab N (9 is always the last)
Ctrl+←/→/↑/↓ Snap the active floating window
Ctrl + / - Zoom the interface and editor fonts together
Space Space Collapse/expand the runs-mode command bar

Shortcuts that aren't in this tab at all#

This is the part worth reading, because the tab looks like a complete list and isn't. All of these work, none of them appear there, and none can be rebound.

(Enter and Escape do appear in the tab — but only for sending, opening a file, and stopping the agent. The other jobs they do below are listed nowhere.)

In the editor

Shortcut Does
F12 Go to definition
Ctrl+F Find in this file
Ctrl+G / Shift+Ctrl+G, F3 / Shift+F3 Find next / previous
Ctrl+Z / Ctrl+Y Undo / redo (Ctrl+Shift+Z also redoes on Linux, ⌘⇧Z on macOS)
Ctrl+/ Toggle comment
Ctrl+D Select the next occurrence
Ctrl+Shift+L Select all matches
Alt+↑ / Alt+↓ Move the line up / down
Shift+Alt+↑ / Shift+Alt+↓ Copy the line up / down
Ctrl+Alt+↑ / Ctrl+Alt+↓ Add a cursor above / below
Ctrl+Shift+K Delete the line
Ctrl+[ / Ctrl+] Outdent / indent
Ctrl+Alt+G Go to line
Tab Expand an Emmet abbreviation, or indent

In the explorer — Ctrl+C, Ctrl+X, Ctrl+V copy, cut and paste files and folders.

Over the 3D view — Ctrl+F opens the graph search card and flies the camera to what you pick.

In the chat composer (desktop app only) — Ctrl+Z undo, Ctrl+Shift+Z or Ctrl+Y redo, Ctrl+Shift+←/→ extends the selection by a word, Ctrl+Shift+↑/↓ by a line.

In the theme editor — Ctrl+G groups the selected windows, Ctrl+U ungroups, holding Alt peeks with the element sampler, Escape leaves.

Everywhere — Escape closes menus, dropdowns, dialogs, the image viewer and the project picker; ↑ ↓ Enter Escape drive the search panel and inline rename fields.

Important

The conflict check only knows about the shortcuts in this tab. You can rebind something onto F12, Ctrl+F or Ctrl+Z with no warning at all, and then have two things happen at once. Check this list before choosing.

Some shipped defaults already overlap, without you doing anything: in a code editor or the chat box, Ctrl+Shift+←/→ extends the selection by a word and switches chat tab; in the chat box Ctrl+Shift+↑/↓ extends the selection and minimises or restores the run cards; and in the editor Ctrl+Shift+G finds the previous match and toggles the gizmo. None of that is flagged anywhere.

Things that will look like bugs#

Ctrl+O does nothing. The Projects menu shows Open Project with Ctrl+O next to it, but there's no shortcut behind it. Use the menu item.

The menus don't follow your rebinds. Shortcut labels in the menu bar are fixed text. Rebind Toggle Explorer to something else and the View menu still says Ctrl+B forever.

On Linux, the Super key also triggers everything. Every Ctrl+… shortcut here answers to Super+… as well. If a shortcut fires when you meant to do something with your window manager, that's why.

The terminal eats almost every Ctrl shortcut. Ctrl+J is the only combination it hands back to the app — so that the toggle keeps working while you're in it, at the cost of never being able to send a literal Ctrl+J to a program running there. Everything else that maps to a control character — Ctrl+B, Ctrl+T, Ctrl+S — belongs to the terminal while it has focus and never reaches Semantix, rebound or not.

Note

Ctrl+Tab and Ctrl+1–9 are taken by the browser when Studio runs in a browser tab. They only reach the app in the desktop build.