Create a gist now

Instantly share code, notes, and snippets.

tmux cheatsheet

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

tmux new -s myname

attach:

tmux a  #  (or at, or attach)

attach to named:

tmux a -t myname

list sessions:

tmux ls

kill session:

tmux kill-session -t myname

In tmux, hit the prefix ctrl+b and then:

Sessions

:new<CR>  new session
s  list sessions
$  name session

Windows (tabs)

c           new window
,           name window
w           list windows
f           find window
&           kill window
.           move window - prompted for a new number
:movew<CR>  move window to the next unused number

Panes (splits)

%  horizontal split
"  vertical split

o  swap panes
q  show pane numbers
x  kill pane
⍽  space - toggle between layouts

Window/pane surgery

:joinp -s :2<CR>  move window 2 into a new pane in the current window
:joinp -t :1<CR>  move the current pane into a new pane in window 1

Misc

d  detach
t  big clock
?  list shortcuts
:  prompt

Resources:

Notes:

  • You can cmd+click URLs to open in iTerm.

TODO:

  • Conf copy mode to use system clipboard. See PragProg book.
@dideler
dideler commented Aug 1, 2013

This is either a fork of this gist or vice versa, but it's not obvious because it was duplicated instead of forked. So which is the original?

@objectiveSee

Please add HOWTO Delete a session:

tmux kill-session -t <session_name>

@alkrauss48

This is clean and handy. Thanks!

@jlpoolen

link "cheat sheet" (http://cheat.errtheblog.com/s/tmux/) is dead.

@Stevancw

Are the horizontal and vertical split commands the right way round?

NB: Just tried to fork and submit a pull request... didn't realise you cannot do it through github.com for gists.

@klebervirgilio

what does that <CR> means??

@fredrik
fredrik commented Feb 3, 2014

@klebervirgilio: Carriage Return

@dikaio
dikaio commented Mar 27, 2014

Love this, thank you.

@mark0978

Is there any way to start a command within a tmux session when you start the tmux session? Something like

tmux new -s celery -e "python manage.py celery worker"

@gumatias

I found this to be a very useful one as well:

tmux switch -t session_name

@rajuashok

any one know how I can modify my windows to display the name (in tmux.conf). Here's my current window settings:

set -g window-status-format "#[fg=colour235,bg=colour252,bold] #I #W "
53 set -g window-status-current-format "#[fg=colour234,bg=colour39]⮀#[fg=black,bg=colour39,noreverse,bold] #I: #W #[fg=colour39,bg=colour234,nobold]⮀"

I'd like to replace #W with the actual name of the window.

@roukmoute

Splits about horizontal and vertical panes are inversed.

"  horizontal split
%  vertical split
@NicolasEhrhardt

Resource page not available anymore: http://cheat.errtheblog.com/s/tmux/

@TWSSYesterday

Hi there, sometimes it won't let me exit via Ctrl + B + D, how to fix this?

@kumarabinash

Neat.
Btw, is there any way to resize the panes?

@RussellBradley

The resource page is still available at "http://cheat.errtheblog.com/s/tmux" just remove the forward slash at the end of the link.

@tallenaz

In Linux, to resize panes (for example) separated by a horizontal split, you can hold down ctrl-b while pressing the up/down arrow keys.

@a2xchip
a2xchip commented Jan 2, 2015

To scroll page: Press Ctrl+B and then page up/page down

@kenshinji

wow, this is exactly what I'm looking for, thanks!

@kibromGB
kibromGB commented Aug 1, 2015

So helpful. Thank you.

@francwalter

Is there a way to kill all windows in tmux?
In screen this was:
C-a,
but in tmux I find only to kill one single window, not all.
Thank.

EDIT:
Easy enough:
tmux kill-server
will kill all tmux windows and sessions, good enough for my purpose.

@amir-sereen

tnx it was usefull

@thagoat
thagoat commented Mar 30, 2016

Most handy

@DaveDBA
DaveDBA commented Apr 13, 2016

I loved this, now I have created all my sessions with name and keeps every task tidy and organized.

@tunamin
tunamin commented Aug 10, 2016 edited

thanks it was usefull

@charlessutton

Thanks it is clear and useful

@chrisliu54

Thanks it is useful and handy : )

@sjose1x
sjose1x commented Oct 6, 2016

Is it possible to clone session..?

@karoitay
karoitay commented Nov 8, 2016

Suggestion: update kill session

From:
In tmux, hit the prefix ctrl+b and then:

To

In tmux, hit the prefix ctrl+b and then :

@akinjide
akinjide commented Jan 5, 2017

Currently windows list shows hostname and path but Any ideas on how to add status like current command executing, cwd, or other fun stuffs?

@tony
tony commented Feb 15, 2017 edited

To those looking to learn more about tmux, I released an ebook freely available online called The Tao of tmux. I'm excited to spread the word about it because I think the way I break tmux down into its objects (sessions, windows, panes) is a good approach to explaining it. I also go into advanced things like tmux' aliases, targets and formats. Feel free to give it a look! Tony

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