Tmux

From UMIACS
Revision as of 15:39, 24 March 2022 by Derek (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

tmux is a terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time. It can also be used to detach processes from their controlling terminals, allowing remote sessions to remain active without being visible.

Usage

To invoke a new tmux session, simply use the following command in a terminal:

# tmux new

You can also name the session using the -s flag. In this example, the session is named mysession:

# tmux new -s mysession

If you need to end your SSH session but want your processes to keep running, you can detach the tmux session by using:

# Ctrl-b + d

Then exit as normal.

If you have multiple tmux sessions you can detach and reattach them at any time. To list the current tmux sessions running, use:

# tmux ls

The output will be similar to this:

# user@machine:~$ tmux ls
# mysession: 1 windows (created Thu Oct 22 10:11:44 2020)
# session2: 1 windows (created Thu Oct 22 10:11:52 2020)
# session3: 1 windows (created Thu Oct 22 10:11:58 2020)

To reconnect to a specific tmux session you may use the attach command:

# user@machine:~$ tmux attach -t mysession

Window Management

In tmux, windows show up at the bottom of your session with a name and a sort number.

You can create a new window in your session by using:

# Ctrl-b c

You can navigate to the next window using:

# Ctrl-b n

You can navigate to the previous window using:

# Ctrl-b p

You can rename the current window using:

# Ctrl-b ,

You can close the current window using:

# Ctrl-b &

Copy Mode

In order to navigate around a page in tmux, You must first enter Copy Mode and then you can start navigating:

To enter Copy Mode use:

# Ctrl-b [

Once in Copy Mode, you can navigate normally using the arrow keys as well as other functions.

To go to the top of the page type:

# g

To go to the bottom of the page type:

# G


Prefix Key

You can change the prefix keystrok from <ctrl>-b to <ctrl>-a for example by adding the following to your ~/.tmux.conf.

# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix