Skip to main content
Tmux

Restore tmux sessions with tmux-continuum

β€” Typecraft

Article by: @mthomps4

Overview

Personally, I use tmux to organize projects and terminal splits. I have a few projects that I work on and I like to have a tmux session for each project. However, when setting up a new machine, I was reminded that tmux doesn't save your sessions once you close the terminal or restart the machine (at least by default).

Insert tmux-contiuum and tmux-resurrect.

With a few lines in your .tmux.conf you can have tmux persist your sessions and windows, saving you time and frustration.

Let's dive in!

πŸ’‘
Not living that Tmux life yet? Check out Tmux for Newbs to go from "what's a multiplexer" to spinning up and navigating sessions with ease.

Installation

I'm going to assume you are already using tmux and leverage tpm. If not, you can find the installation instructions here. If you follow the readme on the tmux-continuum github page you can add the following to your .tmux.conf:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-boot 'on'
set -g @continuum-boot-options 'iterm,fullscreen'

On this machine, I'm using iterm but feel free to peek at the docs for other options.

Next, you can install the plugins by running prefix + I in your tmux session. You'll see something similar to below.

tmux-install
Success!

Congrats

Congrats, that's it! You now have a tmux session that will save your windows and panes. You can close your terminal and restart your machine, and your tmux session will be restored. You can also manually save your session by running prefix + Ctrl-s and restore it by running prefix + Ctrl-r. By default continuum will save your session every 15 minutes.

Now, when you reboot your machine, you can see your previous sessions with tmux ls. Pro Tip: Rename your saved sessions for easier identification. I tend to use <leader>:rename-session {name} within the session itself once defined.