tmux is the difference between losing a 40-minute migration to a dropped SSH session and not caring that your laptop slept. Here's the config that runs every day.
A saner prefix and instant reload
# ~/.tmux.conf
unbind C-b
set -g prefix C-a # easier to reach than C-b
bind r source-file ~/.tmux.conf \; display "reloaded"C-a as prefix is reachable without contorting your hand. prefix r reloads the config without restarting the server.
The layout I open for every incident
bind L split-window -h \; split-window -v \; select-pane -LOne keystroke gives me a three-pane layout: big shell on the left, logs top-right (journalctl -f), metrics bottom-right (watch kubectl top pods). Everything I need to watch an incident, in one window.
Named sessions per cluster
Naming sessions after clusters means I never fat-finger a command into the wrong environment — the session name is right there in the status bar.
The one plugin: tmux-resurrect
# in .tmux.conf, via TPM
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'tmux-resurrect saves your entire session layout — windows, panes, working directories, even running programs — to disk. tmux-continuum auto-saves every 15 minutes and restores on server start. A reboot no longer means rebuilding six windows of context by hand.
A dropped connection should cost you nothing. tmux + resurrect is how you make that true.