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.

Show comment
Hide comment
@dideler

dideler 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?

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.

Show comment
Hide comment
@objectiveSee

objectiveSee Aug 11, 2013

Please add HOWTO Delete a session:

tmux kill-session -t <session_name>

objectiveSee commented Aug 11, 2013

Please add HOWTO Delete a session:

tmux kill-session -t <session_name>

@alkrauss48

This comment has been minimized.

Show comment
Hide comment
@alkrauss48

alkrauss48 Aug 22, 2013

This is clean and handy. Thanks!

alkrauss48 commented Aug 22, 2013

This is clean and handy. Thanks!

@jlpoolen

This comment has been minimized.

Show comment
Hide comment
@jlpoolen

jlpoolen commented Sep 30, 2013

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

@linh-kaiserhl

This comment has been minimized.

Show comment
Hide comment
@linh-kaiserhl

linh-kaiserhl commented Oct 3, 2013

@Stevancw

This comment has been minimized.

Show comment
Hide comment
@Stevancw

Stevancw 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.

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.

Show comment
Hide comment
@klebervirgilio

klebervirgilio Feb 3, 2014

what does that <CR> means??

klebervirgilio commented Feb 3, 2014

what does that <CR> means??

@fredrik

This comment has been minimized.

Show comment
Hide comment
@fredrik

fredrik commented Feb 3, 2014

@klebervirgilio: Carriage Return

@dikaio

This comment has been minimized.

Show comment
Hide comment
@dikaio

dikaio Mar 27, 2014

Love this, thank you.

dikaio commented Mar 27, 2014

Love this, thank you.

@mark0978

This comment has been minimized.

Show comment
Hide comment
@mark0978

mark0978 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"

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.

Show comment
Hide comment
@gumatias

gumatias May 11, 2014

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

tmux switch -t session_name

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.

Show comment
Hide comment
@rajuashok

rajuashok 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.

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.

Show comment
Hide comment
@roukmoute

roukmoute Jun 18, 2014

Splits about horizontal and vertical panes are inversed.

"  horizontal split
%  vertical split

roukmoute commented Jun 18, 2014

Splits about horizontal and vertical panes are inversed.

"  horizontal split
%  vertical split
@NicolasEhrhardt

This comment has been minimized.

Show comment
Hide comment
@NicolasEhrhardt

NicolasEhrhardt Jul 7, 2014

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

NicolasEhrhardt commented Jul 7, 2014

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

@TWSSYesterday

This comment has been minimized.

Show comment
Hide comment
@TWSSYesterday

TWSSYesterday Jul 11, 2014

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

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.

Show comment
Hide comment
@kumarabinash

kumarabinash Jul 29, 2014

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

kumarabinash commented Jul 29, 2014

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

@RussellBradley

This comment has been minimized.

Show comment
Hide comment
@RussellBradley

RussellBradley 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.

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.

Show comment
Hide comment
@tallenaz

tallenaz 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.

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.

Show comment
Hide comment
@a2xchip

a2xchip Jan 2, 2015

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

a2xchip commented Jan 2, 2015

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

@kenshinji

This comment has been minimized.

Show comment
Hide comment
@kenshinji

kenshinji May 15, 2015

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

kenshinji commented May 15, 2015

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

@kibromGB

This comment has been minimized.

Show comment
Hide comment
@kibromGB

kibromGB Aug 1, 2015

So helpful. Thank you.

kibromGB commented Aug 1, 2015

So helpful. Thank you.

@francwalter

This comment has been minimized.

Show comment
Hide comment
@francwalter

francwalter 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.

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.

Show comment
Hide comment
@immygod

immygod Mar 7, 2016

tnx it was usefull

immygod commented Mar 7, 2016

tnx it was usefull

@thagoat

This comment has been minimized.

Show comment
Hide comment
@thagoat

thagoat Mar 30, 2016

Most handy

thagoat commented Mar 30, 2016

Most handy

@DaveDBA

This comment has been minimized.

Show comment
Hide comment
@DaveDBA

DaveDBA Apr 13, 2016

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

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.

Show comment
Hide comment
@tunamin

tunamin Aug 10, 2016

thanks it was usefull

tunamin commented Aug 10, 2016

thanks it was usefull

@charlessutton

This comment has been minimized.

Show comment
Hide comment
@charlessutton

charlessutton Aug 12, 2016

Thanks it is clear and useful

charlessutton commented Aug 12, 2016

Thanks it is clear and useful

@chrisliu54

This comment has been minimized.

Show comment
Hide comment
@chrisliu54

chrisliu54 Aug 25, 2016

Thanks it is useful and handy : )

chrisliu54 commented Aug 25, 2016

Thanks it is useful and handy : )

@sjose1x

This comment has been minimized.

Show comment
Hide comment
@sjose1x

sjose1x Oct 6, 2016

Is it possible to clone session..?

sjose1x commented Oct 6, 2016

Is it possible to clone session..?

@karoitay

This comment has been minimized.

Show comment
Hide comment
@karoitay

karoitay 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 :

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.

Show comment
Hide comment
@akinjide

akinjide 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?

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.

Show comment
Hide comment
@tony

tony 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

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.

Show comment
Hide comment
@sahilsd

sahilsd Apr 21, 2017

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

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.

Show comment
Hide comment
@GlitchModulus

GlitchModulus 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.

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.

Show comment
Hide comment
@wainweb

wainweb Jun 16, 2017

@GlitchModulus, hit the prefix ctrl+b then ?

wainweb commented Jun 16, 2017

@GlitchModulus, hit the prefix ctrl+b then ?

@masious

This comment has been minimized.

Show comment
Hide comment
@masious

masious 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?

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.

Show comment
Hide comment
@bzd111

bzd111 commented Oct 29, 2017

Usefull

@vtiwari227

This comment has been minimized.

Show comment
Hide comment
@vtiwari227

vtiwari227 Dec 7, 2017

Very handy, Thanks for this

vtiwari227 commented Dec 7, 2017

Very handy, Thanks for this

@jhector87

This comment has been minimized.

Show comment
Hide comment
@jhector87

jhector87 Dec 18, 2017

Really appreciate the detailed explanation

jhector87 commented Dec 18, 2017

Really appreciate the detailed explanation

@jhector87

This comment has been minimized.

Show comment
Hide comment
@jhector87

jhector87 Dec 18, 2017

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

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.

Show comment
Hide comment
@TroiSilver

TroiSilver Feb 14, 2018

most handy tmux cheatsheet

TroiSilver commented Feb 14, 2018

most handy tmux cheatsheet

@ishouvik

This comment has been minimized.

Show comment
Hide comment
@ishouvik

ishouvik Feb 20, 2018

Thank you very much! This was very helpful.

ishouvik commented Feb 20, 2018

Thank you very much! This was very helpful.

@volkflo

This comment has been minimized.

Show comment
Hide comment
@volkflo

volkflo commented Feb 23, 2018

Thanks!

@TheAslera

This comment has been minimized.

Show comment
Hide comment
@TheAslera

TheAslera Mar 9, 2018

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

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.

Show comment
Hide comment
@arbazkiraak

arbazkiraak Mar 17, 2018

Awesome , Thank you ~

arbazkiraak commented Mar 17, 2018

Awesome , Thank you ~

@vishnu-venkatesh

This comment has been minimized.

Show comment
Hide comment
@vishnu-venkatesh

vishnu-venkatesh 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.

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.

Show comment
Hide comment
@ishanSrt

ishanSrt May 10, 2018

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

ishanSrt commented May 10, 2018

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

@markuz

This comment has been minimized.

Show comment
Hide comment
@markuz

markuz May 19, 2018

I think a respawn-pane is missing here

markuz commented May 19, 2018

I think a respawn-pane is missing here

@ryazwinski

This comment has been minimized.

Show comment
Hide comment
@ryazwinski

ryazwinski 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?

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.

Show comment
Hide comment
@Apichai1976

Apichai1976 Oct 11, 2018

Thank you, it is useful.

Apichai1976 commented Oct 11, 2018

Thank you, it is useful.

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