Skip to content

Instantly share code, notes, and snippets.

@umhan35
Forked from michaellihs/tmux-cheat-sheet.md
Created June 21, 2021 20:46
Show Gist options
  • Save umhan35/7ae497c3d75a28e9d36a88a99bee033f to your computer and use it in GitHub Desktop.
Save umhan35/7ae497c3d75a28e9d36a88a99bee033f to your computer and use it in GitHub Desktop.
tmux Cheat Sheet

tmux Cheat Sheet

Table of Contents

General Usage

  • Start a tmux session with

    tmux
  • Select text in a tmux window with your mouse by holding the SHIFT key (Windows) or the OPTIONS key (Mac) and then using the mouse as you'd normally do

Shortcuts

Key(s) Description
CTRL+b <command> sends <command> to tmux instead of sending it to the shell
General Commands
? shows a list of all commands (qcloses the list)
: enter a tmux command
Working with Windows
c creates a new window
, rename current window
p switch to previous window
n switch to next window
w list windows (and then select with arrow keys)
Working with Panes
% split window vertically
- split window horizontally
requires bind - split-window -v in our .tmux.conf
go to right pane
go to left pane
go to upper pane
go to lower pane

Scripting TMUX

Starting multiple commands in multiple panes

Start a new tmux session with tmux before running the script!

#!/bin/bash
 
SESSION=$USER
 
tmux -2 new-session -d -s $SESSION

tmux new-window -t $SESSION:1 -n "TMUX-Test"
tmux split-window -h
tmux select-pane -t 0
tmux send-keys "echo 'pane1'" C-m
tmux select-pane -t 1
tmux send-keys "echo 'pane2'" C-m
tmux split-window -v
tmux send-keys "echo 'pane3'" C-m

Configuring TMUX

You can configure tmux via the ~/.tmux.conf file. After making changes to the config file, you can update the configuration "on-the-fly" with

tmux source ~/.tmux.conf

Changing the default prefix

Use

set -g prefix C-a

to change the default prefix from CTRL + b to CTRL + a. Optionally you can "free" the default binding with

unbind C-b

Key Bindings

You can add / alter tmux's key bindings with the following command

bind | split-window -h

this binds the split window -h command to the | key.

Adding Mouse Support for Mac OS X

In order to have mouse support in Mac OS X, you can add the following lines to your config file:

set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on

Further Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment