tmux

  • If you ever get a weird error about netsted sessions, just unset the env var TMUX with

TMUX=

tmux Create New Session

tmux new-session -s <session name>
--OR--
tmux new -s <session name>

tmux List existing session

tmux list-sessions

tmux Attatch Existing session

tmux attatch-session -t <session-id/session-name>

tmux Kill Existing session

tmux kill-session -t <session-id/session-name>

Delete all sessions except current

tmux kill-session -a 
  • Press Ctrl+R and type what you are searching for, then hit enter when the command appears

Pre-Fix Key

  • By default it is Ctrl+B

Create a New Window

Ctrl+b c

Switch between windows

Ctrl+b [0-9]
--OR-- 
Ctrl+b right/left arrow keys 
  • or to go one previous

Ctrl+b p
  • to go to next

Ctrl+b n

Detach Session

Ctrl+b d

Rename Window

Ctrl+b ,

Move current pane left/right

Ctrl+b { #move left 
Ctrl+b } #move right 

Exit pane

Ctrl+b x

Resizing Panes

#resize height 
Ctrl+b uparrow
Ctrl+b downarrow 
#resize width 
Ctrl+b leftarrow 
Ctrl+b rightarrow 

Convert pane to window

Ctrl+b ! 

Nested tmux Sessions

  • SSH into remote host

  • Can run tmux ls and view the tmux sessions

  • Example:

MINER: 1 windows (created Mon Novv 27 21:33:24 2022) [186x47]
  • To attatch to that session

tmux attatch -t MINER
  • Use prefix key + d to detatch from the connected session

Split Terminals Vertical

  • Ctrl+B %

Split Terminals Horizontal

  • Ctrl+B "

Custom tmux config

  • File located ~/.tmux

set -g prefix C-a
bind C-a send-prefix
unbind C-b

#Quality of life stuff 
set -g history-limit 10000
set -g allow-rename off

#Join Windows
bind-key j commpand-prompt -p "join pane from:" "join-pane -s '%%'" 
bind-key -s command-prompt -p "send pane to:" "join-pane -t '%%'"

#search mode VI (default is emacs)
set-windows-option -g mode-keys vi

run-shell /opt/tmux-logging/logging.tmux

Last updated