もた日記

くだらないことを真面目にやる

tmuxメモ : Tmux Resurrectとtmux-continuumで環境の保存/復元

github.com

Tmux Resurrectプラグインを使用するとtmux環境を保存できるので、PCを再起動しても環境を簡単に復元できるようになる。

github.com

tmux-continuumはTmux Resurrectをサポートするプラグインで自動で保存/復元を可能にする。よってこれらはセットで使うのがよさそう。

tpmでインストール


tpm(Tmux Plugin Manager)を使用している場合は、.tmux.confに下記行を追加してprefix + Iキーでインストール。

set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'


Tmux Resurrect


インストールが完了すると下記キーバインドで簡単に環境の保存/復元ができるようになるので便利。正しく動作している場合はステータスラインにTmux environment save!Tmux restore complete!というメッセージが表示される。

prefix + Ctrl-s : 保存
prefix + Ctrl-r : 復元

キーバインドを変更したい場合は以下のような設定を.tmux.confに追加。

set -g @resurrect-save 'S'
set -g @resurrect-restore 'R'

保存される環境としては以下のものがある。

  • 全てのセッション、ウィンドウ、ペインとその順番
  • 各ペインのカレントワーキングディレクト
  • ウィンドウ内のペインのレイアウト
  • アクティブセッション、セッション
  • 各セッションのアクティブウィンドウ、別ウィンドウ
  • ファーカスのあるウィンドウ
  • 各ウィンドウのアクティブペイン
  • セッショングループ
  • ペイン内で動いているプログラム(vim, man, lessなど)

また、追加で下記オプションも指定できる。


tmux-continuum


Tmux Resurrectのみだと自分で保存/復元をする必要があるのでtmux-continuumも一緒に使用した方がよい。
tmux-continuumの機能としては、

  • 定期的に保存
  • PC起動時に自動でtmuxスタート
  • tmuxスタート時に自動で復元

がある。

定期的に保存

この機能はプラグインをインストールすると有効になっており15分おきに環境が保存される。
保存の間隔を変更したい場合は以下のような設定を追加(例は間隔を60分に変更)。

set -g @continuum-save-interval '60'


PC起動時に自動でtmuxスタート

この機能を有効にする方法はこのページを参照。
Macの場合は下記行を.tmux.confに追加(個人的には次のtmuxスタート時に復元で十分そう)。

set -g @continuum-boot 'on'


tmuxスタート時に自動で復元

この機能を有効にするためには下記行を.tmux.confに追加。

set -g @continuum-restore 'on'