tmuxsheet - feliyur/exercises GitHub Wiki
Tmux terms: each machine can run multiple tmux sessions. Each session can have multiple windows ("tabs"). Each window can be split to multiple panes.
Prefix is usually Ctrl+b (or sometimes Ctrl+a).
| Command | Effect |
|---|---|
tmux |
create new tmux session |
| prefix + d | Detach from session |
tmux ls |
list existing sessions (recommendation: alias tls=tmux ls) |
tmux attach-session -t <session id> |
attach to existing session (recommendation: alias ta=tmux attach-session -t) |
| prefix + %, prefix + " | Horizontal, vertical split pane |
| prefix + ←, ↑, →, ↓ | Switch to a different pane. |
| prefix + c | New window |
| prefix + n / p / [number] | Switch to next/previous/[number] window. |
| prefix + [ | Switch to scroll mode (exit using q) |
| prefix + q | Show pane numbers. |
| prefix + space | Swap layout of panes (horizontal <==> vertical) |
| prefix + x | Close / kill pane (kill-pane command). |
| prefix + , | Rename window. |
| prefix + & | Kill window. |
| prefix + D (capital) | Shows a list to choose which simultaneously attached client to detach. |
kill-session [-t id] |
Take a wild guess ;) |
| prefix + ! | Break pane into a new window. |
Some commands starting with prefix can be run from the terminal replacing prefix with tmux.
https://github.com/tmux-plugins/tpm
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Put this at the bottom of ~/.tmux.conf ($XDG_CONFIG_HOME/tmux/tmux.conf works too):
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin '[email protected]:user/plugin'
# set -g @plugin '[email protected]:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Reload TMUX environment so TPM is sourced:
# type this in terminal if tmux is already running
$ tmux source ~/.tmux.conftmux-resurrect:
depends on tmux plugin manager
https://github.com/tmux-plugins/tmux-resurrect
Add plugin to the list of TPM plugins in .tmux.conf:
set -g @plugin 'tmux-plugins/tmux-resurrect'Hit prefix + I to fetch the plugin and source it. You should now be able to use the plugin.