takafumi blog

日々の勉強メモ

【tmux】 TPM(Tmux Plugin Manager)で現在の状態を保存

環境   tmux 2.1

Tmux、便利ですよね。
そんなTmuxをもっと便利にするTPMというプラグインマネージャー。 github.com

使い方

ほとんどマニュアルそのままだけど
まずTPMをgit clone

$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

そして以下のように.tmux.confに使いたいプラグインを記述

set -g @tpm_plugins '              \
  tmux-plugins/tpm                 \
  tmux-sensible                    \
  tmux-plugins/tmux-resurrect      \
  tmux-plugins/tmux-pain-control   \
'

run-shell '~/.tmux/plugins/tpm/tpm'

そしてtmuxを起動してprefix + ITPMプラグインをインストールしてくれる。
最後に.tmux.confをリロードすれば完了。

現在の状態を保存するtmux-resurrec

で、もともと何をやりたかったかというと、ウィンドウやペインの状態は大体いつも同じ配置なのに、tmuxを終了すると再設定するのが大変という事で、状態を保存できるものを探してたどり着いたのがこちら。

ウィンドウとペインの状態をローカルに保存するので、PCを終了しても再度同じ配置に復元できる。
使い方は

状態の保存

prefix + Ctrl-s

状態の復元

prefix + Ctrl-r

とコレだけ。素晴らしい。

また復元するプログラムはデフォルト
vi vim nvim emacs man less more tail top htop irssi mutt
と設定されているが、

tmux-resurrect/restoring_programs.md at master · tmux-plugins/tmux-resurrect · GitHub

にあるように.tmux.confに以下のように記述すれば

set -g @resurrect-processes 'ssh psql mysql sqlite3'

他のプログラムも復元可能。

ちなみにsshでログインした先のサーバで開いていたプログラムもなんとか復元できないものかと、試行錯誤してみたがさすがに無理っぽかった。
素直にログイン先でtmux-resurrecを使う事にする。

そこを抜いても、十分に便利なのでオススメ。

github.com