Keybindings

Default shortcuts, what Luau Engine adds on top of Studio, and how to rebind them.

Roblox Studio's shortcuts are preserved. This page lists the defaults and the additions, and shows how to rebind.

On macOS, read Ctrl as Cmd unless noted.

File and project#

ShortcutAction
Ctrl+NNew project
Ctrl+OOpen place
Ctrl+SSave place
Ctrl+Shift+SSave As
Ctrl+PQuick-open a file from the project
Ctrl+Shift+PCommand palette
Ctrl+Shift+OToggle the Project panel
Ctrl+,Settings

Build and run#

ShortcutAction
F5Play
F8Stop
F7Run (server only)
Ctrl+F5Play Here
Ctrl+Shift+BBuild the active target
Ctrl+Shift+TCycle target
Ctrl+Alt+PPublish the active target
Ctrl+Shift+KCheck (types, lints, licences)

Editing#

ShortcutAction
Ctrl+Z / Ctrl+YUndo / Redo
Ctrl+DDuplicate selection
Ctrl+GGroup into a Model
Ctrl+UUngroup
Alt+ClickSelect the deepest instance under the cursor
Ctrl+LLock / unlock selection
Ctrl+HToggle visibility of selection
FFrame the selection in the viewport

Viewport navigation#

ShortcutAction
W A S DMove the camera
Q / EDown / up
Right-dragLook
Middle-dragPan
ScrollZoom
Shift (held)Move slowly
14Select, Move, Scale, Rotate tool

Script editor#

ShortcutAction
Ctrl+SpaceTrigger autocomplete
Ctrl+/Toggle line comment
Alt+Up / Alt+DownMove line up / down
Ctrl+Shift+DDuplicate line
F12Go to definition
Shift+F12Find all references
F2Rename symbol
Ctrl+Shift+FFind in all scripts
Ctrl+K Ctrl+FFormat selection
Ctrl+Shift+LSelect all occurrences

Debugging#

ShortcutAction
F9Toggle breakpoint / Developer Console
F10Step over
F11Step into
Shift+F11Step out
Ctrl+F6MicroProfiler
Ctrl+Shift+F9Clear all breakpoints

Panels#

ShortcutAction
Ctrl+1Explorer
Ctrl+2Properties
Ctrl+3Output
Ctrl+4Project
Ctrl+5Build Output
Ctrl+6Asset pipeline

Rebinding#

File → Settings → Keybindings, or edit the file directly. Open it with File → Settings → Open settings file, or:

luauengine config edit --section keybindings
keybindings.toml
[keybindings]
"build.active-target" = "Ctrl+B"
"target.cycle" = "Ctrl+T"
"project.quick-open" = "Ctrl+E"

# Unbind by assigning an empty string
"editor.duplicate-line" = ""

# Chords are supported
"editor.format-document" = "Ctrl+K Ctrl+D"

Command identifiers are listed by:

luauengine config list --section keybindings --all

The command palette (Ctrl+Shift+P) also shows the current binding next to each command, which is usually the quickest way to find an identifier.

Presets#

[keybindings]
preset = "studio"      # studio | vscode | vim

studio is the default. vscode remaps the script editor to VS Code conventions while leaving viewport and Explorer shortcuts alone. vim enables modal editing in the script editor only. Individual bindings set after preset override it.