Tmux is one of those tools that feels awkward at first but becomes difficult to live without once it clicks.
Over time, I’ve changed a lot of the default behavior to better match how I actually work. Most of these tweaks are small, but together they make tmux feel significantly more comfortable and predictable.
Count from One
Tmux starts windows and panes at zero by default, which always felt annoying to me. I prefer one-based indexing instead:
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
This also keeps numbering cleaner when windows are closed since tmux automatically renumbers them.
Use Ctrl-a as the Prefix
I remap the prefix fromCtrl-btoCtrl-a:
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
Ctrl-afeels much easier to press quickly, especially since my hands are already used to it from tools like GNU Screen and shell navigation.
Use Popups as Temporary Scratch Space
One of my favorite tmux features is popup windows.
I use this binding to create a temporary shell popup:
bind C-o display-popup -w 80% -h 80% -E "
tmux unbind -Tpopup Escape
tmux unbind -Tpopup C-c
$SHELL
"
This is useful for quick commands, temporary notes, or running one-off tasks without disturbing the current layout.
It feels much cleaner than creating extra panes for short-lived work.
Move Between Panes with Vim Keys
Pane navigation usesh,j,k, andl:
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
This matches my editor muscle memory.
I do not want one navigation system for Neovim and another for tmux. The more these tools agree with each other, the less context switching I feel while working.
Split Panes with Symbols That Match the Layout
The default split bindings are not very memorable to me, so I replace them with symbols that visually match the layout:
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
A vertical bar creates a side-by-side split. A dash creates a top-and-bottom split.
The binding itself describes the resulting layout, which makes it much easier to remember.
Session Recovery Matters
I usetmux-resurrectandtmux-continuumfor session recovery.
Once your terminal workspace becomes part of your project workflow, losing sessions becomes genuinely frustrating. These plugins make tmux feel much more persistent and reliable.
Make Neovim Colors and Keys Behave Properly
Most of my terminal workflow revolves around Neovim, so proper terminal behavior is important.
I enable true color support and extended key handling with:
set -g default-terminal "tmux-256color"
set -sa terminal-overrides ",*:Tc"
set -g extended-keys on
set -g extended-keys-format csi-u
Without this, colors can look wrong and some key combinations may not behave consistently inside Neovim.
Conclusion
What I like most about tmux is that it slowly adapts to your workflow over time.
At first, it feels like a multiplexer. Eventually, it starts feeling more like a programmable workspace that matches how you think and navigate.
Most of these tweaks are tiny in isolation, but together they remove friction from everyday terminal usage.