Shell Tools

Learning tmux as a beginner

A beginner notes for the useful software that exists in our terminals

Learning tmux as a beginner

Nowadays, Tmux has become into the everyday tool in my workdays. I always wanted to summarize the Tmux usage from long ago when I began to use it. So this article is pretty much what I have started with as a Tmux beginner.

# What consists of Tmux?

  • Session
  • Window
  • Pane

# What is a Tmux session?

The “dialog” that’s been kept by Tmux for running tasks which can be resumed later disconnection.

# 1. Create a session

Creating a session in Tmux is very semantic:

$ tmux new -s <session_name>

# e.g.
$ tmux new -s helloworld
$ tmux new -s great

# 2. Kill a session

The -t flag here means “target”. Put the target session name after it to delete the session from Tmux

$ tmux kill-session -t <session_name>

# e.g.
$ tmux kill-session -t helloworld

# 3. Kill all of the sessions

The command kill-server seems a bit confusing. But Tmux does have a server running behind the scenes to be able to keep the located processes when the session is detached. So, killing a Tmux server means deleting all saved sessions.

$ tmux kill-server

# 4. Switch between sessions

It’s useful when we are in a particular session but want to transfer to another session we used.

$ tmux switch -t <session_name>

# e.g.
$ tmux switch -t great

# 5. Rename session

Edit the session name after we created it.

$ tmux switch -t <from> <to>

# e.g.
$ tmux rename -t great hi

# What is a Tmux Window?

The “child” under a Tmux Session. A session can have multiple windows (“children”) to switch from.

To manipulate the window, we need to use the “Prefix” shortcuts. By default, Tmux uses Ctrl+b.

# 1. Create a new window

This will create a new window and leave a number of the window we created to the Tmux bottom status line.

Ctrl + b + c

0:zsh is the first window, 1:zsh is the second window.

# 2. Switch between windows

We could choose the target window by specifying its number.

Ctrl + b + <window_number>

# e.g.
Ctrl + b + 2

# 3. Search the windows

We could look for the windows we created. The Tmux will go search the output / printout in the terminal.

Ctrl + b + f

# 4. List all of the windows in this session

The result screen is actually the same to search but with all of the windows we have.

Ctrl + b + w

# 5. Rename current window

By default, the window we created with Ctrl+b+c will have a name like “0:zsh” “1:shell”. Sometimes we need special names to distinguish those windows (like naming the sessions) in a rather semantic way.

Ctrl + b + ,

# 6. Close current window

Ctrl + b + &

# What is a Tmux Pane?

Instead of Tmux windows to switch back and forth, a Tmux pane can help split the window into certain smaller blocks within the same screen. So that we could retain the information on the same screen.

# 1. Split pane vertically / horizontally

Tmux makes it very easy to understand about pane splitting. The symbol % and " vividly explains how we are gonna split our screen.

# vertical split
Ctrl + b + "

# horizontal split
Ctrl + b + %

# 2. Kill a pane

Usually when we run nothing in the terminal, we could close it immediately with Ctrl+d for most of the terminals. However if we are under some program like Vim or SSH and still hope to kill the pane forcefully, this will come into help.

Ctrl + b + x

# 3. Switch between panes

Jump around the panes.

Ctrl + b + o

We also have numbers for each panes. Display the number of each pane and type the number to select the target pane.

# display pane number
Ctrl + b + q

# e.g.
Ctrl + b + q  & 1

# 4. Move the current pane to a new window

Sometimes the pane we created is maybe too small to showcase everything in that terminal. We might need to consider moving the pane to a new window.

Ctrl + b + !

# Summary

I personally think Tmux is a very good looking and helpful tool to allow everyone to control their terminals with only keyboards. Nowadays terminal apps like “iTerm” “cmder” all provided features similar to Tmux’s “window” and “pane”. Sometimes, these features are even more convenient than Tmux.

Tmux is really a powerful tool. But it needs time for us to digest the shortcut keys which is seemingly a “learning” curve to us all so that we could finally master using this powerful tool.

On this page

Filed under

Shell Tools

Share this post

It's written by

You might also like

Subscribe to new posts