Skip to content

Instantly share code, notes, and snippets.

@ijjvim
Forked from Starefossen/tmux-cheats.md
Created July 9, 2022 07:00
Show Gist options
  • Select an option

  • Save ijjvim/1f485ce79bf5ca280c72f994c3afcc7b to your computer and use it in GitHub Desktop.

Select an option

Save ijjvim/1f485ce79bf5ca280c72f994c3afcc7b to your computer and use it in GitHub Desktop.
My personal tmux cheat sheet for working with sessions, windows, and panes. `NB` I have remapped the command prefix to `ctrl` + `a`.

Tmux

NB I have remapped the command prefix to ctrl + a (in order to mimic gnu screen). I have added some custom key remaps as well, I will try to document them properly when I get the time.

Sessions

New Session

  • tmux new [-s name] [cmd] (:new) - new session

Switch Session

  • tmux ls (:ls) - list sessions
  • tmux switch [-t name] (:switch) - switches to an existing session
  • tmux as [id] [-t name] (:attach) - attaches to an existing session
  • <C-a>c (:detach) - detach the currently attached session

Session Management

  • <C-a>s - list sessions
  • <C-a>$ - name session

Close Session

  • tmux kill-session [-t name] (:kill-session)

Windows

New Window

  • <C-a>c (:neww [-n name] [cmd]) - new window

Cursor Movement

  • <C-a>[i] (:selectw -t [i]) - go to window [i]
  • <C-a>l - go to last window
  • <C-a>p - go to previous window
  • <C-a>n - go to next window

Window Management

  • <C-a>T - rename window
  • <C-a>, - rename window
  • <C-a>w - list all windows
  • <C-a>f - find window by name
  • <C-a>& (:kill-window) - kill window
  • <C-a>. - move window to another session (promt)
  • :movew - move window to next unused number

Panes

New Pane

  • (%) <C-a>| (:splitw [-v] [-p width] [-t focus] [cmd]) - split current pane vertically
  • (") <C-a>s (:splitw -h [-p width] [-t focus] [cmd]) - split current pane horizontally

Cursor Movement

  • (o) <C-a><Tab> (:selectp -t :.+) - move cursor to the next pane
  • <C-a><Up> (:selectp -U) - move cursor to the pane above
  • <C-a><Down> (:selectp -D) - move cursor to the pane below
  • <C-a><Left> (:selectp -L) - move cursor to the pane to the left
  • <C-a><Right> (:selectp -R) - move cursor to the pane to the right
  • :selectp [i] - move cursor to the pane [i]

Panes Management

  • (:swap-pane -U) - move current pane up
  • (:swap-pane -D) - move current pane down
  • <C-a>{ (:swap-pane -L) - move current pane to the left
  • <C-a>} (:swap-pane -R) - move current pane to the right
  • <C-a>q - show pane numbers (type number to move cursor)
  • <C-a><Space> - toggle pane arrangements

Resize Pane

  • :resize-pane -U [i] - move horizontal divider up by [i] lines
  • :resize-pane -D [i] - move horizontal divider down by [i] lines
  • :resize-pane -L [i] - move vertical divider left by [i] columns
  • :resize-pane -R [i] - move vertical divider right by [i] columns

resize-pane [-DLRUZ] [-x width] [-y height] [-t target-pane] [adjustment]

Close Pane

  • <C-a>x (:kill-pane) - kill current pane

Misc

  • <C-a>t - show time
  • <C-a>r - reload config

VIM

Tab

New Tab

  • :tabnew - new blank tab
  • :tabedit [file] - open file in tab

Cursor Movement

  • gt (:tabn) - next tab
  • gT (:tabp) - previous tab
  • [i]gt - go to tab [i]

Tabs Management

  • :tabs - list open tabs
  • :tabm 0 - move current tab to first position
  • :tabm - move current tab to last position
  • :tabm [i] - move current tab to position [i]

Close Tab

  • :tabc - close current tab
  • :tabo - close all other tabs

Window Split

New Split

  • <C-w>n (:new) - new horizontal split
  • <C-w>s (:split) - split window horizontaly
  • <C-w>v (:vsplit) - split window verticaly

Cursor Movement

  • <C-w>w - next split
  • <C-w>p - previous split
  • <C-w><Up> - move above
  • <C-w><Down> - move bellow
  • <C-w><Left> - move left
  • <C-w><Right> - move right

Splits Movement

  • <C-w>r - rotate to the right
  • <C-w>H - move to the left
  • <C-w>J - move to the bottom
  • <C-w>K - move to the top
  • <C-w>L - move to the right
  • <C-w>T - (:tab split) move split to new tab

Resize Split

  • <C-w>p + - increase height
  • <C-w>p - - decrease height
  • <C-w>p < - increase width
  • <C-w>p > - decrease width

Close Split

  • <C-w>c (:close) - close split
  • <C-w>q (:q) - close split and quit file
  • <C-w>o (:only) - close all other splits

Sources

Tmux

Vim

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