TPM and Popular Plugins
The Tmux Plugin Manager (TPM) makes it easy to install community plugins for session restoration, enhanced copy-paste, fuzzy search, and theming.
TPM is to tmux what npm is to Node.js — it manages plugin installation, updates, and removal from your ~/.tmux.conf.
Installing TPM
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Add the following to the bottom of your ~/.tmux.conf:
# Initialize TPM (keep this line at the very bottom)
run '~/.tmux/plugins/tpm/tpm'
Reload config: tmux source-file ~/.tmux.conf
TPM Key Bindings
| Shortcut | Action |
|---|---|
Ctrl+b I | Install plugins listed in config |
Ctrl+b U | Update all installed plugins |
Ctrl+b Alt+u | Remove plugins not in config |
Essential Plugins
1. tmux-sensible — Sane Defaults
Applies a set of universally agreed-upon tmux settings:
set -g @plugin 'tmux-plugins/tmux-sensible'
Includes: better prefix timeout, enable UTF-8, increase scrollback, etc.
2. tmux-resurrect — Session Persistence
Saves and restores sessions across reboots:
set -g @plugin 'tmux-plugins/tmux-resurrect'
| Action | Shortcut |
|---|---|
| Save session | Ctrl+b Ctrl+s |
| Restore session | Ctrl+b Ctrl+r |
Run a save before rebooting. After reboot, open any tmux session and press Ctrl+b Ctrl+r to restore everything.
3. tmux-continuum — Auto Save
Automatically saves sessions every 15 minutes and optionally restores at startup:
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on' # auto-restore on tmux start
set -g @continuum-save-interval '15' # save every 15 minutes
Requires tmux-resurrect to function.
4. tmux-yank — Enhanced Copy
Copies to system clipboard from copy mode:
set -g @plugin 'tmux-plugins/tmux-yank'
After installing, y in copy mode copies to system clipboard automatically.
5. tmux-open — Open Files/URLs in Pane
Allows opening files and URLs from copy mode with o:
set -g @plugin 'tmux-plugins/tmux-open'
In copy mode, highlight a URL or filename and press o to open it.
6. tmux-fzf — Fuzzy Session/Window Search
Interactive fuzzy finder for sessions, windows, and panes:
set -g @plugin 'sainnhe/tmux-fzf'
Press Ctrl+b F (uppercase) to open the fuzzy finder.
7. Catppuccin Theme
A modern, beautiful theme with multiple flavors:
set -g @plugin 'catppuccin/tmux'
set -g @catppuccin_flavor 'mocha' # or: latte, frappe, macchiato
Complete Plugin Starter Config
# === Plugins (via TPM) ===
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'catppuccin/tmux'
# Plugin Settings
set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'
set -g @catppuccin_flavor 'mocha'
# Initialize TPM (MUST be last line)
run '~/.tmux/plugins/tpm/tpm'
After editing, in tmux: press Ctrl+b I to install all plugins.
Common Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
| TPM line not at end of file | Plugins not loaded | run line MUST be the last line in config |
Not pressing Ctrl+b I after adding plugin | Plugin not installed | Press I (uppercase) to install |
| Plugin conflicts with manual config | Keys stop working | Check for duplicate bindings |