tmux notes

Sat, 25 Oct 2014 00:00:00 GMT

tmux is a terminal multiplexer, much like screen. I use it at work to keep my terminals organized. Typically I have one session running for each project, e.g. one for Chromium and one for LLVM. Within each session I often have one window for editing, one for compiling and running, and one for source control.

Key concepts: there can be multiple sessions running at the same time. Each session has a number of separate windows (usually numbered 0, 1, 2, ...), which can be split into panes.

Commands are prefixed with CTRL-b by default (as opposed to screen which uses CTRL-a).

d | Detach
$ | Rename current session
s | List sessions
L | Go to last session
, | Rename the window
n | Next window
w | Previous window
l | Last selected window
w | List windows
? | Show commands
" | Split pane horizontally
% | Split pane vertically
o | Move to other pane
; | Move to previous pane
CTRL-o | Rotate panes
! | Close the other panes
:new | Create new session

In ~/.tmux.conf:

# Save more scrollback (default is 2000 lines).
set-option -g history-limit 100000

To attach to a specific session when starting: tmux attach -t session_name.

man page