Waylon Walker
Posted on August 14, 2021
Now it's time to switch gears, we are onto a different part of our day and there are just too many sessions running and we need to clean up shop.
kill-server
One viable option is to nuke the whole dang thing. I actually do this more than you might think.
bash
tmux kill-server
save and commit your work diligently before
kill-server
kill-session
A more reasonable option might be to kill a single session.
bash
# kills the current session
tmux kill-session
# kills the session named scratch
tmux kill-session -t scratch
choose-tree
Killing sessions one by one from the command line can be a bit tedious, and involve more keystrokes than necessary. Another option built right into tmux is choose-tree
. By default choose-tree
is bound to prefix+s
, that's pressing control+b then s. Once you are in choose-tree
, you can navigate around with your configured navigation scheme, press x
to kill a session, or pane or window then y
to confirm. You can also batch delete by tagging items with t, and killing them all at once with X
.
tmux choose-tree
check out this post for a bit more information on choose-tree
fuzzy matcher
Here is my preferred way, using a fuzzy matcher. I recently improved this one by making it a popup and cleaning it up based on a repsonse,tmux-output-formatting by DJ Adams. I press prefix+k to bring up a kill-session menu.
bash
bind k display-popup -E "\
tmux list-sessions -F '#{?session_attached,,#{session_name}}' |\
fzf --reverse -m --header=kill-session |\
xargs -I {} tmux kill-session -t {}"
note this is setup to multiple sessions all at once.
Be sure to check out the full YouTube playlist and subscribe if you like it.
Posted on August 14, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.