Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

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

This comment has been minimized.

objectiveSee commented Aug 11, 2013

Please add HOWTO Delete a session:

tmux kill-session -t <session_name>

@alkrauss48

This comment has been minimized.

alkrauss48 commented Aug 22, 2013

This is clean and handy. Thanks!

@jlpoolen

This comment has been minimized.

jlpoolen commented Sep 30, 2013

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

@linh-kaiserhl

This comment has been minimized.

linh-kaiserhl commented Oct 3, 2013

@Stevancw

This comment has been minimized.

Stevancw commented Jan 14, 2014

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

This comment has been minimized.

klebervirgilio commented Feb 3, 2014

what does that <CR> means??

@fredrik

This comment has been minimized.

fredrik commented Feb 3, 2014

@klebervirgilio: Carriage Return

@dikaio

This comment has been minimized.

dikaio commented Mar 27, 2014

Love this, thank you.

@mark0978

This comment has been minimized.

mark0978 commented Apr 10, 2014

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

This comment has been minimized.

gumatias commented May 11, 2014

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

tmux switch -t session_name

@rajuashok

This comment has been minimized.

rajuashok commented May 13, 2014

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

This comment has been minimized.

roukmoute commented Jun 18, 2014

Splits about horizontal and vertical panes are inversed.

"  horizontal split
%  vertical split
@NicolasEhrhardt

This comment has been minimized.

NicolasEhrhardt commented Jul 7, 2014

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

@TWSSYesterday

This comment has been minimized.

TWSSYesterday commented Jul 11, 2014

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

@kumarabinash

This comment has been minimized.

kumarabinash commented Jul 29, 2014

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

@RussellBradley

This comment has been minimized.

RussellBradley commented Jul 31, 2014

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

This comment has been minimized.

tallenaz commented Aug 18, 2014

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

This comment has been minimized.

a2xchip commented Jan 2, 2015

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

@kenshinji

This comment has been minimized.

kenshinji commented May 15, 2015

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

@kibromGB

This comment has been minimized.

kibromGB commented Aug 1, 2015

So helpful. Thank you.

@francwalter

This comment has been minimized.

francwalter commented Aug 10, 2015

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.

@immygod

This comment has been minimized.

immygod commented Mar 7, 2016

tnx it was usefull

@thagoat

This comment has been minimized.

thagoat commented Mar 30, 2016

Most handy

@DaveDBA

This comment has been minimized.

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

This comment has been minimized.

tunamin commented Aug 10, 2016

thanks it was usefull

@charlessutton

This comment has been minimized.

charlessutton commented Aug 12, 2016

Thanks it is clear and useful

@chrisliu54

This comment has been minimized.

chrisliu54 commented Aug 25, 2016

Thanks it is useful and handy : )

@sjose1x

This comment has been minimized.

sjose1x commented Oct 6, 2016

Is it possible to clone session..?

@karoitay

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

tony commented Feb 15, 2017

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

@sahilsd

This comment has been minimized.

sahilsd commented Apr 21, 2017

In the status bar showing current active tmux sessions, can we show $PWD there instead of the process names?

@GlitchModulus

This comment has been minimized.

GlitchModulus commented Jun 14, 2017

dumb question but is there any way to get a list of these commands from within tmux (for quick lookup in the future so don't have to open web browser etc)? looking at 'help' within tmux but cannot find what i'm looking for.

Thanks in advance.

@wainweb

This comment has been minimized.

wainweb commented Jun 16, 2017

@GlitchModulus, hit the prefix ctrl+b then ?

@masious

This comment has been minimized.

masious commented Aug 3, 2017

In the dotfiles of @henrik copy mode is set to work like the way it works in the vi. After C-b then v I can't start selecting my text. Does anyone have some similar problem?

@bzd111

This comment has been minimized.

bzd111 commented Oct 29, 2017

Usefull

@vtiwari227

This comment has been minimized.

vtiwari227 commented Dec 7, 2017

Very handy, Thanks for this

@jhector87

This comment has been minimized.

jhector87 commented Dec 18, 2017

Really appreciate the detailed explanation

@jhector87

This comment has been minimized.

jhector87 commented Dec 18, 2017

Is there a way to reactivate the sessions in gdb dashboard especially when debugging?

@TroiSilver

This comment has been minimized.

TroiSilver commented Feb 14, 2018

most handy tmux cheatsheet

@ishouvik

This comment has been minimized.

ishouvik commented Feb 20, 2018

Thank you very much! This was very helpful.

@volkflo

This comment has been minimized.

volkflo commented Feb 23, 2018

Thanks!

@TheAslera

This comment has been minimized.

TheAslera commented Mar 9, 2018

Helpful !
To start a detached command:
tmux new -d -s my-session 'command1; command2;'

@arbazkiraak

This comment has been minimized.

arbazkiraak commented Mar 17, 2018

Awesome , Thank you ~

@vishnu-venkatesh

This comment has been minimized.

vishnu-venkatesh commented Apr 4, 2018

% horizontal split - I guess this means the two panes are horizontally placed relative to each other. The splitting line is vertical. You might want to make that more clear. Other than that, very nice cheat sheet.

@ishanSrt

This comment has been minimized.

ishanSrt commented May 10, 2018

@dideler doesn't matter. Everything's raw in open source.

@markuz

This comment has been minimized.

markuz commented May 19, 2018

I think a respawn-pane is missing here

@ryazwinski

This comment has been minimized.

ryazwinski commented Sep 19, 2018

Dumb question, but I can't find/figure it: is there any way to focus input on just one pane and then return to the all-panes context?

@Apichai1976

This comment has been minimized.

Apichai1976 commented Oct 11, 2018

Thank you, it is useful.

@ovigia

This comment has been minimized.

ovigia commented Oct 21, 2018

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.

C+a k

@ninezero90hy

This comment has been minimized.

ninezero90hy commented Nov 14, 2018

Thanks! 👍

@mossishahi

This comment has been minimized.

mossishahi commented Nov 25, 2018

Hi !

I have launched a process in a tmux using an app. Now I wanna know which version of the app is running, I don't remember that which directory I added to that tmux's PATH and so cannot understand which version is running. Is there any way to see a tmux path outside that?
[any other creative idea is welcome]

Thanks

@haydenflinner

This comment has been minimized.

@YazanALMonshed

This comment has been minimized.

YazanALMonshed commented Nov 30, 2018

Hello Can you provide me with more details about tmux

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