Tmux

Sessions refer to multiple instances of tmux running, and window refers to the shell console in each of the session.

shell commands

Reattaching an existing session

$ tmux ls
0: 2 windows (created Fri Aug 11 15:14:08 2023) [232x52]
$ tmux attach -d -t 0

keyboard shortcuts

General

Ctrl + B - the default leader key

[Leader] ? - help menu

[Leader] ~ - display system msgs for the current session

[Leader] [Leader] - send the leader key through the terminal

[Leader] : - command buffer

[Leader] Ctrl + Z - suspend current tmux client

[Leader] D - detach the current session from the active terminal

[Leader] Shift + D - open a prompt to select which session to attach

[Leader] S - switch to a different session

[Leader] ( - move current client to the previous session

[Leader] ) - move current client to the next session

[Leader] R - redraw the current screen

[Leader] T - show the current time

Window Management

[Leader] C - create a new window

[Leader] & - delete the currently selected window

[Leader] I - briefly display info about the currently selected window

[Leader] N - go to the next window in the session

[Leader] P - go to the previous window in the session

[Leader] Alt+N - go to the next window w/ a marker

[Leader] Alt+P - go to the previous window w/ a marker

[Leader] , - change the label of the current window

[Leader] . - change the index number of the current window

[Leader] L - go to the previously selected window

[Leader] 0 - 9 - go to the window with the corresponding index number

[Leader] ' - open a prompt to directly switch to a specific index number

[Leader] W - open a propmt to interactively select the window to switch to

[Leader] F - search for windows that contain a specific text string

Pane management

[Leader] Q - show the pane index for the currently visible screen

[Leader] % - create a new vertically split pane in the current window

[Leader] " - create a new horizontally split pane in the current window

[Leader] X - delete the currently selected pane

[Leader] ! - put the currently selected pane to a different window

[Leader] ; - select the previously active pane

[Leader] M - mark the current pane

[Leader] Shift + M - unmark the current pane

[Leader] O - select the next pane in the currently selected window

[Leader] { - swap the currently selected pane with the previous one in the index

[Leader] } - swap the currently selected pane with the next one in the index

[Leader] Up - select the pane above the currently selected pane

[Leader] Down - select the pane below the currently selected pane

[Leader] Left - select the pane left of the currently selected pane

[Leader] Right - select the pane right of the currently selected pane

Pane layouts

[Leader] Alt + 1 - arrange the layout of the panes in the current window to a horizontally stacked layout

[Leader] Alt + 2 - ... vertically stacked layout

[Leader] Alt + 3 - ... horizontal master-stack layout

[Leader] Alt + 4 - ... vertical master-stack layout

[Leader] Alt + 5 - ... tiled layout

[Leader] Space - Cycle through all of the default layouts in the current window

[Leader] Ctrl + Up - increase the size of the currently selected pane by one row upwards

[Leader] Ctrl + Down - increase the size of the currently selected pane by one row downwards

[Leader] Ctrl + Left - increase the size of the currently selected pane by one column leftwards

[Leader] Ctrl + Right - increase the size of the currently selected pane by one column rightwards

Text copy mode

[Leader] [ - switch the current session to tmux's text copy mode

G - go to the top line of the current window

Shift + G - go to the bottom line of the current window

/ - do a forward search

? - do a backward search

N - highlight the next occurrence of the keyword

Shift + N - highlight the previous occurrence of a keyword

K or Up Arrow - move the cursor one line upwards

J or Down Arrow - move the cursor one line downwards

H or Left Arrow - move the cursor one character leftwards

L or Right Arrow - move the cursor one character rightwards

W - move the cursor one word forward

B - move the cursor one word backward

Ctrl + Space - start the text selection at the current point

Ctrl + W - copy the selected text to the paste buffer

[Leader] ] - paste the contents of the last buffer to the current window

[Leader] = - open the list of currently active sessions and select where to paste the current selection