Tmux is the alternative terminal multiplexer option in Salchipapa.Dots. Its configuration lives atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt
Use this file to discover all available pages before exploring further.
SalchipapaTmux/tmux.conf and is symlinked to ~/.config/tmux by the installer. The setup uses TPM (Tmux Plugin Manager) to handle all plugins declaratively, rebinds the prefix to Ctrl+a, adds seamless Neovim pane navigation via vim-tmux-navigator, enables session persistence with tmux-resurrect, and includes a floating scratch session toggled with Alt+g. The default shell is the Homebrew-managed Zsh at /home/linuxbrew/.linuxbrew/bin/zsh.
Installation
Install plugins inside tmux
Open a tmux session, then press the plugin-install binding:That is
Ctrl+a followed by capital I. TPM will clone all listed plugins and source them.You must complete this step the first time you open tmux after cloning TPM. Until plugins are installed, the Gruvbox theme and
vim-tmux-navigator bindings will not be active. Subsequent startups load plugins automatically via the run -b '~/.tmux/plugins/tpm/tpm' line at the end of tmux.conf.Plugins
All plugins are managed by TPM and declared withset -g @plugin in tmux.conf.
tmux-plugins/tpm
Tmux Plugin Manager — bootstraps and manages all other plugins. Clone it manually once (step 2 above); after that it self-manages.
tmux-plugins/tmux-sensible
Sensible defaults — a community-agreed baseline of settings (UTF-8, larger history, faster key repeat, etc.) that avoids common tmux gotchas.
christoomey/vim-tmux-navigator
Vim-tmux navigator —
Ctrl+h/j/k/l moves between tmux panes and Neovim splits transparently. No mode-switching required.tmux-plugins/tmux-resurrect
Session save/restore — persists tmux sessions, windows, and pane layouts across system reboots. Save:
<prefix>+Ctrl+s. Restore: <prefix>+Ctrl+r.alexwforsythe/tmux-which-key
Which-key — displays a popup listing available key bindings after a short pause following the prefix key, making keybind discovery easy.
egel/tmux-gruvbox
Gruvbox Dark theme — applies the Gruvbox dark color scheme to the status bar, pane borders, and mode indicators. Configured with
set -g @gruvbox 'dark'.Key Bindings
Prefix
The prefix has been rebound from the defaultCtrl+b to Ctrl+a (screen-style):
Pane Splitting
| Binding | Action |
|---|---|
<prefix>+v | Vertical split (side-by-side), opens in current pane’s directory |
<prefix>+d | Horizontal split (top/bottom), opens in current pane’s directory |
#{pane_current_path} so the new pane always starts in the same directory you were working in.
Pane Navigation
vim-tmux-navigator maps the following globally (no prefix needed):
| Binding | Action |
|---|---|
Ctrl+h | Move to pane left (or Neovim split left) |
Ctrl+j | Move to pane down (or Neovim split down) |
Ctrl+k | Move to pane up (or Neovim split up) |
Ctrl+l | Move to pane right (or Neovim split right) |
Session Management
| Binding | Action |
|---|---|
<prefix>+K | Kill all sessions except the current one (prompts for confirmation) |
M-g (Alt+g) | Toggle the floating scratch session (see below) |
Copy Mode
mode-keys vi enables Vim-style navigation in copy mode. The y key copies the selection to the clipboard:
- Linux/WSL:
ypipes toclip(Windows clipboard via WSL interop) - macOS:
ypipes topbcopy
if-shell 'uname | grep -q Darwin'.
Floating Scratch Session
M-g (Alt+g) toggles a floating popup scratch session — a persistent throwaway shell that appears over your current work and disappears when you detach from it.
- If you are already inside the
scratchsession,M-gdetaches you, closing the popup and returning to your previous session. - If you are in any other session,
M-gopens adisplay-popupfloating window rooted at the current pane’s working directory and attaches to (or creates) thescratchsession.
-A flag in tmux new-session -A -s scratch means “attach if it already exists” — so the scratch session is persistent across invocations and retains its history.
Other Settings
| Setting | Value | Purpose |
|---|---|---|
mouse | on | Click to focus panes/windows, scroll with wheel |
status-position | top | Status bar appears at the top of the terminal |
base-index | 1 | Windows numbered from 1 instead of 0 |
pane-base-index | 1 | Panes numbered from 1 instead of 0 |
mode-keys | vi | Vim bindings in copy and choice modes |
default-terminal | tmux-256color | Correct $TERM inside tmux sessions |
terminal-overrides | ,xterm-256color:Tc | Enables true-color (24-bit) passthrough |
extended-keys | always | Passes extended key sequences (fixes Shift+Enter for opencode / Gemini CLI) |
default-shell | /home/linuxbrew/.linuxbrew/bin/zsh | Uses the Homebrew-managed Zsh |
default-command | /home/linuxbrew/.linuxbrew/bin/zsh -l | Launches Zsh as a login shell |