Keyboard and input reference#
This reference includes the Linux Alpha and planned Windows, macOS, and BSD
bindings. Use the first-session guide for current release
defaults. Explicit entries under
[bindings] replace matching default triggers. The
compatibility profiles are explicit opt-ins;
they never replace the active default implicitly.
Cmd means the macOS Command key. Search and Vi-mode bindings apply only while
their mode is active. A terminal application can own a key when the table says
the action is mode-sensitive.
Windows and Linux/BSD defaults#
Windows, tabs, and panes#
| Shortcut | Action |
|---|---|
Ctrl+Shift+N |
Create an independent OS window. |
Ctrl+T |
Create a window-level tab. |
Ctrl+Shift+T |
Create an independent tab inside the selected pane. |
Ctrl+Shift+W |
Close the selected local tab, split, or window tab—whichever owns focus. |
Ctrl+F4 |
Close the current local tab, or the current window-level tab when no extra local tab exists; never remove a split. |
Ctrl+Shift+F4 |
Close every other window-level tab. |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / previous window-level tab. |
Alt+PageDown / Alt+PageUp |
Next / previous local tab inside the selected pane. |
Ctrl+1 … Ctrl+8; Ctrl+9 |
Select window tab 1…8; select the last tab. Windows only. |
Ctrl+Shift+R / Ctrl+Shift+D |
Fresh default-shell split right / down. |
Ctrl+R / Ctrl+D |
Clone the active shell/profile/directory into an independent split right / down. |
Ctrl+Alt+R / Ctrl+Alt+D |
Send shell history-search / EOF control byte displaced by cloning. |
Alt+Arrow |
Select the nearest pane geometrically. |
F6 / Shift+F6 |
Cycle to next / previous pane. |
Alt+Shift+Arrow |
Resize the selected split on Windows. |
Ctrl+Alt+Shift+Arrow |
Resize the selected split on Linux/BSD. |
On Windows, Ctrl+PageUp/PageDown also selects the previous/next window tab
and Ctrl+Shift+PageUp/PageDown reorders it. Linux/BSD also supports
Ctrl+Shift+[ / Ctrl+Shift+] for previous/next window tab.
Editing, selection, clipboard, and view#
| Shortcut | Action |
|---|---|
Ctrl+C |
Copy a non-empty terminal selection; with no selection, send the shell/application interrupt unchanged. |
Ctrl+Shift+C |
Copy on Windows/Linux/BSD. |
Ctrl+V / Ctrl+Shift+V |
Paste with the Automexia Windows profile in local, WSL, SSH, and other sessions. |
Ctrl+Shift+V |
Paste on Linux/BSD. |
Shift+Insert |
Paste the primary selection when the platform provides one. |
Shift+Arrow |
Start at the terminal insertion cursor, then extend/reverse selection by one cell or row. |
Ctrl+Shift+Left/Right |
Extend/reverse selection by a Unicode word boundary. |
Ctrl+Shift+A |
Select all on Windows. |
Ctrl+0, Ctrl+= or Ctrl++, Ctrl+- |
Reset, increase, or decrease pane font size. |
Shift+Home/End |
Scroll to history top / bottom outside the alternate screen. |
Shift+PageUp/PageDown |
Scroll one page up / down outside the alternate screen. |
Ctrl+F |
Select or refocus the current-pane scope in the active search session. |
Ctrl+Shift+F / Ctrl+Shift+B |
Select or refocus the all-visible-panes scope in the active search session. |
Ctrl+Shift+Space |
Toggle Vi mode on Windows. |
Alt+Shift+Space |
Toggle Vi mode on Linux/BSD and all platforms through the common binding. |
Ctrl+Shift+K |
Clear history on Windows. |
F11 or Alt+Enter |
Toggle fullscreen on Windows. |
Ctrl+Alt+I |
Preview the selected or pointer-targeted local raster image. |
Ctrl+Shift+P |
Open the command palette. |
Ctrl+Shift+L |
List registered font families. |
Ctrl+, (Windows) / Ctrl+Shift+, (Linux/BSD) |
Open the configuration file in the configured editor. |
Ctrl+Alt+Space |
Toggle the quake window on Windows. |
Alt+Shift+T |
Toggle light/dark appearance on Windows and Linux/BSD. |
Automexia's Windows Ctrl+V is a host shortcut, so the clipboard reaches the selected
pane through the same bracketed-paste and control-filtering path for every child
session without synthesizing an extra Enter. To let a terminal application receive the
original control character instead, add:
[bindings]
keys = [{ key = "V", with = "control", action = "ReceiveChar" }]macOS defaults#
| Shortcut | Action |
|---|---|
Cmd+N |
Create an independent OS window. |
Cmd+T / Cmd+Shift+T |
Create a window tab / local tab in the selected pane. |
Cmd+W |
Close the selected local tab, split, or window tab. |
Cmd+Shift+W |
Close the current local tab, or the current window-level tab when no extra local tab exists; never remove a split. |
Cmd+Alt+W |
Close every other window-level tab. |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / previous window-level tab. |
Cmd+Shift+[ / Cmd+Shift+] |
Previous / next window-level tab. |
Cmd+Alt+[ / Cmd+Alt+] |
Previous / next local tab in the selected pane. |
Cmd+1 … Cmd+8; Cmd+9 |
Select window tab 1…8; select the last tab. |
Cmd+D / Cmd+Shift+D |
Fresh split right / down. |
Ctrl+R / Ctrl+D |
Clone active session right / down. |
Ctrl+Alt+R / Ctrl+Alt+D |
Send history search / EOF to the shell. |
Cmd+Alt+Arrow |
Select a neighboring pane. |
Cmd+] / Cmd+[ |
Cycle next / previous pane. |
Ctrl+Cmd+Arrow |
Resize the selected split. |
Cmd+C / Cmd+V |
Copy / paste. Ctrl+C remains selection-aware as described above. |
Cmd+A |
Select all. |
Cmd+0, Cmd+= or Cmd++, Cmd+- |
Reset, increase, or decrease font size. |
Cmd+F / Cmd+B |
Select or refocus the current-pane scope in the active search session. |
Cmd+Shift+F / Cmd+Shift+B |
Select or refocus the all-visible-panes scope in the active search session. |
Cmd+K |
Clear visible screen and then history. |
Ctrl+Cmd+F |
Toggle fullscreen. |
Cmd+Alt+I |
Preview selected image. |
Cmd+Shift+P |
Open command palette. |
Cmd+Shift+L |
List registered font families. |
Cmd+Alt+Shift+T |
Toggle light/dark appearance. |
Cmd+, |
Open the configuration file. |
Cmd+Q, Cmd+H, Cmd+Alt+H, Cmd+M |
Quit, hide, hide others, minimize. |
Keyboard selection (Shift+Arrow, with Ctrl for horizontal word motion)
remains platform-neutral. A pointer click without a drag is never reused as
the keyboard anchor. Once a selection exists, an unmodified Arrow key or any
non-empty text/paste/IME input exits selection mode before the input is
forwarded to the shell. Search and Vi mode retain their own input ownership.
Search mode#
Pane and workspace search are two scopes of one continuous session. Ctrl+F /
Cmd+F immediately selects the current pane; Ctrl+Shift+F / Cmd+Shift+F
immediately expands to the active local tab in every visible split. Switching
keeps the query and query focus, recompiles the match set, and moves the same
surface between the pane footer and the safe bottom-centered workspace position.
Repeating the shortcut for the active scope only refocuses the query. Hidden
pane-local tabs and other window-level tabs remain deliberately excluded.
The PANE and ALL PANES controls are separate, mutually exclusive choices.
They are clickable, and Tab / Shift+Tab moves between the query and scope
group. With the scope group focused, any arrow key selects the other scope;
Space or Enter keeps the selected scope. A pointer selection returns focus
to the query. Esc still closes the session. Moving focus to another pane
closes a pane-local search instead of silently changing its pane owner.
The result badge reports matches in the visible viewport of the routes in
scope, capped at 999+; previous/next navigation still uses the terminal
search engine beyond the viewport. Invalid patterns receive an explicit status.
The complete painted surface consumes pointer input, and query/control input is
limited to 4 KiB of UTF-8 and never reaches the PTY.
| Shortcut | Result |
|---|---|
Enter / Shift+Enter |
Next / previous result when the query is focused; in Vi search, confirm. |
Tab / Shift+Tab |
Move focus between the query and scope choices. |
| Arrow key with scope focused | Switch between PANE and ALL PANES. |
Space / Enter with scope focused |
Keep the selected scope. |
Esc or Ctrl+C |
Cancel. |
Ctrl+U |
Clear query. |
Ctrl+W |
Delete the previous query word. |
Ctrl+P or Up with query focused |
Previous query from search history. |
Ctrl+N or Down with query focused |
Next query from search history. |
Mouse input#
- Drag primary/left mouse to select. Double/triple click expands by semantic unit/line according to terminal selection rules.
Ctrl+Ccopies that selection; otherwise it remains interrupt.- Right-click copies and clears an existing selection. With no selection it pastes through the normal bracketed-paste and control filtering path.
- Middle-click pastes the primary selection on platforms that provide it.
- Left-click never pastes; it owns focus, selection, links, local image preview, and pane activation.
- Mouse-reporting applications keep mouse ownership. Hold
Shiftfor the established host-UI override where supported.
Custom bindings#
Bindings live in config.toml:
[bindings]
keys = [
{ key = "F5", with = "control | shift", action = "ReloadConfig" },
{ key = "O", with = "control | alt", action = "OpenCommandPalette" },
{ key = "PageUp", with = "alt", action = "SelectPrevLocalTab" },
]Keys are a printable character, named key (home, end, pageup,
pagedown, insert, delete, backspace, tab, enter, escape, arrows,
or f1…f20), or supported numpad name. Modifiers are control, shift,
alt/option, and super/command, joined with |. Modes are appcursor,
appkeypad, alt, and vi; prefix a mode with ~ to require its absence.
esc sends an explicit escape sequence and takes precedence over action.
Stable action names are case-insensitive:
Paste, Copy, SelectAll,
ExtendSelectionLeft, ExtendSelectionRight, ExtendSelectionUp,
ExtendSelectionDown, ExtendSelectionWordLeft, ExtendSelectionWordRight,
SearchForward, SearchBackward, SearchGlobalForward, SearchGlobalBackward, SearchConfirm, SearchCancel, SearchClear,
SearchFocusNext, SearchFocusPrevious, SearchDeleteWord, SearchHistoryNext,
SearchHistoryPrevious, ClearHistory, ClearScreen,
ResetFontSize, IncreaseFontSize, DecreaseFontSize,
CreateWindow, CloseWindow, ReloadConfig, ToggleQuake,
ScrollToPrevPrompt, ScrollToNextPrompt,
CreateTab, CreateLocalTab, MoveCurrentTabToPrev, MoveCurrentTabToNext,
CloseTab, CloseSplitOrTab, CloseUnfocusedTabs, OpenConfigEditor,
SelectPrevTab, SelectNextTab, SelectPrevLocalTab, SelectNextLocalTab,
SelectLastTab, ScrollPageUp, ScrollPageDown, ScrollHalfPageUp,
ScrollHalfPageDown, ScrollToTop, ScrollToBottom,
SplitRight, SplitDown, CloneSplitRight, CloneSplitDown,
SelectNextSplit, SelectPrevSplit, SelectPaneLeft, SelectPaneRight,
SelectPaneUp, SelectPaneDown, SelectNextSplitOrTab,
SelectPrevSplitOrTab, MoveDividerUp, MoveDividerDown, MoveDividerLeft,
MoveDividerRight, ToggleViMode, ToggleAppearanceTheme, ToggleFullscreen,
OpenCommandPalette, OpenFontBrowser, PreviewSelectedImage, ReceiveChar,
NoneParameterized actions are SelectTab(N), Scroll(N), and Run(PROGRAM ARGS...). Run currently uses a simple whitespace split, not shell parsing;
do not use it with untrusted values or arguments that require quoting. Unknown
actions are rejected and do not silently remove the matching default.
Ownership and precedence#
Explicit user bindings replace the matching key/modifier/mode trigger. Search, Vi mode, alternate-screen applications, pinned image browsing, terminal mouse reporting, and the line editor each have scoped ownership. Automexia never sends terminal-owned selection motions to the PTY. One global shortcut table is not reused across every mode and operating system because the active surface must keep ownership of its input.
Ghostty compatibility profiles#
automexia remains the implicit profile. Set keyboard.binding-profile to
ghostty-1.3 for the pinned Ghostty 1.3.1 profile or to ghostty for the
visible moving alias, which currently resolves to ghostty-1.3. User entries
and unbind directives are compiled after the selected profile. A failed strict
compile or reload leaves the previous complete registry active.
Strict Ghostty bindings use window-level tabs and independent-PTY splits. Bare
Ctrl+R and Ctrl+D fall through to the terminal. Platform-global entries are
installed through the OS hotkey owner, while focused, all-surface, sequences,
tables, chains, performable, and unconsumed policies stay isolated per
surface. Unsupported actions remain visibly unavailable; they are never mapped
to unrelated behavior.
Complete compatibility tables are not part of the public Alpha guide. Use the default profile unless your installed release documents the alternative you need. Back up bindings before switching and test core actions in a separate session. See Configuration for the broader configuration model.