Choose the layer where the shortcut runs. Alacritty, the terminal application, sends many macOS-style shortcuts directly to tmux; fish adds command-line bindings; tmux commands use Ctrl + A as their prefix.
No shortcuts match this search.
macOS system shortcuts
These mappings are applied by the
system_defaults
Ansible role.
| Shortcut | Action |
|---|---|
| Cmd+G | Open Spotlight |
| Cmd+Space | Select the next input source |
The default shortcut for selecting the previous input source is disabled so it does not conflict with the configured next-source binding.
Alacritty and tmux
These shortcuts work from Alacritty without first entering the tmux prefix.
Windows and sessions
| Shortcut | Action |
|---|---|
| Cmd+N | Open a new Alacritty window |
| Cmd+T | Create a tmux window in the current directory |
| Cmd+Shift+R | Rename the tmux session |
| Cmd+W | Kill the current tmux window |
| Cmd+X | Kill the current tmux pane |
Navigation and search
| Shortcut | Action |
|---|---|
| Ctrl+Tab | Select the next tmux window |
| Ctrl+Shift+Tab | Select the previous tmux window |
| Cmd+1 … Cmd+9 | Select tmux window 1–9 |
| Cmd+F | Enter copy mode and search forward |
| Cmd+0 | Reset the Alacritty font size |
Links and text
| Shortcut | Action |
|---|---|
| Ctrl+Shift+O | Open a URL or path under the pointer: URLs go to the system opener, files open in a new tmux Neovim window |
| Cmd+Shift+P | Copy a visible file path, including its line number when one is present |
| Shift+Enter | Send a Shift-modified Enter that a TUI can tell apart from plain Enter |
fish shell
These bindings act on the current fish command line.
| Shortcut | Action |
|---|---|
| Alt+S | Prepend sudo unless the command line already starts with it |
| Ctrl+G | Open the project chooser powered by fzf |
| Ctrl+T | Open the fzf directory picker |
| Alt+Left / Alt+Right | Move the cursor one word backward or forward |
Alacritty sets option_as_alt = "OnlyLeft", so the
Alt bindings above use the left Option key.
fzf runs with --tmux, so its pickers open in a tmux popup whenever one is
available. The fzf.fish plugin installs further pickers on its own default keys.
tmux prefix commands
Press Ctrl+A, release it, and then press the command key. Press Ctrl+A twice to send a literal Ctrl+A through to the program in the pane.
Create and arrange
| Command | Action |
|---|---|
Ctrl+A then c | Create a window in the current directory |
Ctrl+A then r | Rename the current window |
Ctrl+A then R | Rename the current session |
Ctrl+A then | | Split the pane horizontally |
Ctrl+A then _ | Split the pane vertically |
Ctrl+A then + | Toggle pane zoom |
Ctrl+A then m | Move the current window to a prompted index |
Ctrl+A then L | Link a window from another session |
Move around
| Command | Action |
|---|---|
Ctrl+A then h / j / k / l | Move one pane left, down, up, or right |
Ctrl+A then [ / ] | Select the previous / next pane |
Ctrl+A then { / } | Select the previous / next window |
| Ctrl+A then Tab | Return to the most recently used window |
Ctrl+A then \ | Swap the current pane with pane 1, or select pane 1 |
| Ctrl+A then Ctrl+O | Rotate the panes downward |
Agentic tasks
| Command | Action |
|---|---|
| Ctrl+A then Ctrl+G | Start or reopen an agent task: pick a repository, name the task, get a git worktree with an OpenCode window |
Ctrl+A then S | Create or attach a context session by name, then open the task launcher |
| Ctrl+A then Ctrl+D | Open the workmux agent dashboard |
Close and detach
| Command | Action |
|---|---|
Ctrl+A then x | Kill the current pane |
Ctrl+A then X | Kill the current window |
| Ctrl+A then Ctrl+X | Confirm and kill every other window |
Ctrl+A then Q | Confirm and kill the session |
Ctrl+A then d | Detach this client |
Ctrl+A then D | Detach other clients when present |
Configuration and copy mode
| Command | Action |
|---|---|
| Ctrl+A then Ctrl+E | Edit tmux.conf, then reload it |
| Ctrl+A then Ctrl+R | Reload tmux.conf |
| Ctrl+S | Enter copy mode without the prefix |
Ctrl+A then p | Paste the latest tmux buffer |
| Ctrl+A then Ctrl+P | Choose a tmux buffer |
Copy mode uses vi keys and supports the mouse wheel, Page Up and Page Down, and Option-based scrolling by line or half page.
Neovim additions
LazyVim provides most editor mappings. This repository overrides or adds the
following. The tag after a key is the mode it works in:
n normal,
v visual,
o operator-pending (after d, c or y)
and i insert.
| Shortcut | Action |
|---|---|
o n | Create a blank line below without staying in Insert mode |
O n | Create a blank line above without staying in Insert mode |
<leader><leader> n | Clear search highlights |
ys / ds / cs n | Add, delete, or replace a surrounding pair |
<leader>/ n v | Comment the current line or the selection |
<S-h> / <S-l> n v | Move the line or selection left or right |
<S-j> / <S-k> n v | Move the line or selection down or up |
gz n v | Title-case the line or the selection |
w / b n o v | Step by subword, so camelCase and snake_case split into parts |
> / < v | Indent or outdent while keeping the selection active |
<C-j> / <C-k> i | Select the next or previous completion item |
Three LazyVim defaults are removed rather than remapped: <C-s> for save in
every mode, and the fzf-lua pickers on <leader><space> and <leader>/. The
second of those keys is reused for commenting above.
OpenCode
These act inside the OpenCode TUI, so the tmux prefix is not involved.
| Shortcut | Action |
|---|---|
| Ctrl+R | Record a voice prompt, transcribe it, and insert the cleaned text |
Ctrl+R is
OpenCode’s factory binding for renaming a session. The managed tui.json
disables that binding so the voice plugin can own the key; rename a session with
the /rename command instead.
Source of truth
- macOS shortcuts:
config.yaml - Alacritty shortcuts:
alacritty.toml.tmpl - fish shortcuts:
binds.fish - tmux shortcuts:
tmux.conf - Neovim additions:
keymaps.luaandcustom.lua - OpenCode keybinds and voice plugin:
tui.json