Skip to main content
AutomexiaDocsv0.4.0

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+1Ctrl+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:

toml
[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+1Cmd+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+C copies 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 Shift for the established host-UI override where supported.

Custom bindings#

Bindings live in config.toml:

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 f1f20), 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:

text
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,
None

Parameterized 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.