Keyboard & Shortcuts
Hardware keyboard support, shortcuts, and key mappings.
Hardware Keyboard
vmux has full hardware keyboard support. Connect a Bluetooth or USB keyboard to your Apple Vision Pro and type directly into the terminal. Keystrokes appear instantly — local echo renders your input in under 16ms, before the server even confirms it.
App Shortcuts
These shortcuts work across the app, regardless of what's happening in the terminal.
| Shortcut | Action |
|---|---|
| Cmd + T | New tab |
| Cmd + N | New window |
| Cmd + W | Close tab/window |
| Cmd + D | Split vertical |
| Cmd + Shift + D | Split horizontal |
| Cmd + , | Open settings |
| Cmd + Shift + P | Command Palette |
| Cmd + + | Zoom in (increase font size) |
| Cmd + - | Zoom out (decrease font size) |
| Cmd + 0 | Reset font size to default |
| Cmd + Shift + R | Toggle CRT effect |
| Cmd + ] | Next pane |
| Cmd + [ | Previous pane |
| Cmd + K | Clear scrollback |
| Cmd + C | Copy selection |
| Cmd + V | Paste from clipboard |
Cmd Key Readline Mappings
When you use Cmd with navigation keys, vmux translates them into standard readline shortcuts that work in shells and terminal editors.
| Shortcut | Readline Equivalent | Action |
|---|---|---|
| Cmd + Backspace | Ctrl + U | Delete line before cursor |
| Cmd + Delete | Ctrl + K | Delete line after cursor |
| Cmd + Left | Ctrl + A | Jump to beginning of line |
| Cmd + Right | Ctrl + E | Jump to end of line |
Option as Meta
Default: On
When enabled, the Option key acts as the Meta (Alt) key for terminal applications. Pressing Option + a key sends an escape prefix followed by the character, which is how terminal apps like vim, emacs, and tmux interpret Alt key combos.
- Option + Left Arrow sends the "backward word" command (readline
ESC b) - Option + Right Arrow sends the "forward word" command (readline
ESC f) - Option + Backspace sends "delete previous word"
You can toggle this in Settings.
One-Shot Virtual Modifiers
A modifier bar appears below the terminal with Ctrl, Alt, Shift, and CapsLock buttons. These are one-shot toggles:
- Tap a modifier button to arm it
- Press your next key — the modifier is applied
- The modifier automatically deactivates after that keypress
CapsLock is the exception — it stays active until you tap it again (persistent toggle). This is especially useful with VKeyboard or when you don't have a physical keyboard connected.
Custom Keybindings
You can remap defaults and assign shortcuts to any command from the shared command catalog in the keybinding editor (open from Settings).
The list is flat and includes:
- App/palette commands (for example,
app.new-window,settings.font-size) - Direct input commands (for example,
input.gamepad.ctrl-c)
Command IDs are namespaced and unique, so there are no overlaps.
This includes management commands like Close Window (Keep Session Running) and Terminate Session, so you can choose quick detach vs explicit shutdown.
If you assign a keybind to a parameterized command (slider/picker), triggering that keybind opens the command palette directly in that command's editor.
If you create a binding that conflicts with an existing trigger, vmux warns you before saving.
Assigned keybinds are also shown inline in the Command Palette next to each command.
Gamepad Support
vmux supports game controllers for basic terminal navigation.
| Button | Action |
|---|---|
| A | Enter |
| B | Escape |
| X | Tab |
| Y | Backspace |
| D-pad | Arrow keys |
| Left Shoulder | Ctrl + C (interrupt) |
| Right Shoulder | Ctrl + D (EOF) |
| Left Trigger | Page Up |
| Right Trigger | Page Down |
Gamepad bindings are customizable in the keybinding editor.