Lightweight tmux utilities for manipulating tmux sessions.
Tested and working on Linux, OSX and Cygwin.
Sessions are a second class citizen in tmux environment:
- there are no default key bindings for creating or deleting sessions
- creating a session is cumbersome, just try
tmux new-session -s name
inside tmux (hint: you first have to detach) - deleting (killing) current session by default detaches tmux (why?)
- no fast way for session switching when there's more than ~5 sessions
This plugin solves the above problems.
prefix + g
- prompts for session name and switches to it. Performs auto-completion using fzf.
Faster than the built-inprefix + s
prompt for long session lists.prefix + C
(shift + c) - prompt for creating a new session by name.prefix + X
(shift + x) - kill current session without detaching tmux.prefix + S
(shift + s) - switches to the last session.
The same as built-inprefix + L
that everyone seems to override with some other binding.prefix + @
- promote current pane into a new session.
Analogous to howprefix + !
breaks current pane to a new window.prefix + t<secondary-key>
- join currently marked pane (prefix + m
) to current session/window, and switch to it- secondary-keys
h
,-
,"
: join horizontallyv
,|
,%
: join verticallyf
,@
: join full screen
- secondary-keys
Installation with Tmux Plugin Manager (recommended)
Add plugin to the list of TPM plugins in .tmux.conf
:
set -g @plugin 'tmux-plugins/tmux-sessionist'
Hit prefix + I
to fetch the plugin and source it. You can now use the plugin.
Clone the repo:
$ git clone https://github.com/tmux-plugins/tmux-sessionist ~/clone/path
Add this line to the bottom of .tmux.conf
:
run-shell ~/clone/path/sessionist.tmux
Reload TMUX environment with $ tmux source-file ~/.tmux.conf
. You can now use
the plugin.
You might also find these useful:
- pain control - useful standard bindings for controlling panes
- logging - easy logging and screen capturing