Skip to content

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.
@sahilsd
Copy link

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
Copy link

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
Copy link

wainweb commented Jun 16, 2017

@GlitchModulus, hit the prefix ctrl+b then ?

@masious
Copy link

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
Copy link

bzd111 commented Oct 29, 2017

Usefull

@vtiwari227
Copy link

vtiwari227 commented Dec 7, 2017

Very handy, Thanks for this

Copy link

ghost commented Dec 18, 2017

Really appreciate the detailed explanation

Copy link

ghost commented Dec 18, 2017

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

@TroiSilver
Copy link

TroiSilver commented Feb 14, 2018

most handy tmux cheatsheet

@ishouvik
Copy link

ishouvik commented Feb 20, 2018

Thank you very much! This was very helpful.

@volkflo
Copy link

volkflo commented Feb 23, 2018

Thanks!

@vpctorr
Copy link

vpctorr commented Mar 9, 2018

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

@arbazkiraak
Copy link

arbazkiraak commented Mar 17, 2018

Awesome , Thank you ~

@vishnu-venkatesh
Copy link

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
Copy link

ishanSrt commented May 10, 2018

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

@markuz
Copy link

markuz commented May 19, 2018

I think a respawn-pane is missing here

@ryazwinski
Copy link

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
Copy link

Apichai1976 commented Oct 11, 2018

Thank you, it is useful.

@ovigia
Copy link

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
Copy link

ninezero90hy commented Nov 14, 2018

Thanks! 👍

@mossishahi
Copy link

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
Copy link

haydenflinner commented Nov 29, 2018

@yazanmonshed
Copy link

yazanmonshed commented Nov 30, 2018

Hello Can you provide me with more details about tmux

@OddmarDam
Copy link

OddmarDam commented Mar 28, 2019

what does that <CR> means??

Carriage Return

@isaacaddis
Copy link

isaacaddis commented Aug 3, 2019

This needs far more details on it .... like for example renaming sessions

@r2evans
Copy link

r2evans commented Aug 27, 2019

For those that follow: this gist has not been revised since 2012.

Conversely, this version (of the same cheatsheat) appears to be a branch/copy of this one but has been updated several times (latest in 2015). While four years old isn't awesome, it's still more recent (and feature-full) than this gist.

@henrik, thanks for starting it many years ago! This is obviously helpful to many.

@davegallant
Copy link

davegallant commented Sep 23, 2019

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?

  • henrik created this gist on Mar 3, 2012.
  • MohamedAlaa created this gist on Jun 20, 2012.

It's possible to tell now. I don't remember what GitHub looked like in 2013. :)

@savolla
Copy link

savolla commented May 30, 2020

what does that <CR> means??

Enter key

@reventusth
Copy link

reventusth commented Aug 26, 2020

v useful ty ty

@yogendrajs
Copy link

yogendrajs commented Oct 22, 2020

Thanks so much! 💯

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