tmuxでプラグインのインストール方法――おすすめプラグインも紹介

tmuxはそのままでも便利ですが、プラグインを入れるともっと便利になります。というわけでtmuxのプラグインの入れ方やおすすめプラグインを解説します。

tmux関係の記事は他にも書いています。「まだ知らないぞ」ってことがあれば一緒にご覧ください。

※この記事はバージョン3.5aのtmuxに基づいて書いています。

プラグインとは

プラグインという名前で想像つくと思いますが、いわゆるブラウザの拡張機能のように 機能を追加できるしくみ です。

tmuxのセッションをセーブデータのように保存できるプラグインや、ステータスラインにバッテリー残量を簡単に表示するためのプラグインもあります。

プラグインのインストール方法

tmuxのプラグインを使うにはtpm(Tmux Plugin Manager)がおすすめです。プラグインマネージャーを使わないと インストールやアップデートがやや手間 です。ミニマリストで依存減らしたい方は、foo-plugin.tmuxのようなファイルを読み込めばプラグインマネージャーが無くとも使えます。

プラグインマネージャーの導入

tpmに書いてあるとおりcloneします。

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

tmux.conf内で自動インストールしたい人

この書き方であれば、tpmとプラグインのインストールを自動でやってくれます。

setenv -g TMUX_PLUGIN_MANAGER_PATH '$HOME/.tmux/plugins/'
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && \
~/.tmux/plugins/tpm/bin/install_plugins'"

参考:Automatic installation issue and workaround · Issue #105 · tmux-plugins/tpm

プラグインマネージャーを設定

Terminal window
# 自動インストールしてる人はそれよりも後に書く
set-option -g @plugin 'tmux-plugins/tpm'
# 使いたいプラグインを書く
set-option -g @plugin 'tmux-plugins/foo-bar-buz'
set-option -g @plugin 'example/piyo'
# ↓はtmux.confの最後に書く
run '~/.tmux/plugins/tpm/tpm'
↓文法に違和感を覚えた人向け(クリックで開閉)

「この書き方だと1行ごとに@pluginを上書きしていて、リストになってなくない?」と思った人もいるでしょう。そのとおりです。

実際に@pluginの値を表示すると一番最後に書いたやつだけが表示されます。

Terminal window
tmux show-options -g @plugin
@plugin example/piyo

じゃあどうして読み込めるのか。実装を見てみると、どうやらtmux.conf文字列として読み込みこんで正規表現で抜き出してリスト化 しているようです。

実際にインストールする

自動インストールしてない人は、設定したら次の手順を実行してください。

  1. 設定ファイルを再読み込み
  2. prefix + shift + i を入力

新しいプラグインをインストールしたときもこれをやっておきます。

プラグインのアップデート方法

prefix + shift + u を入力します。

おすすめ紹介

公式ではlistというリポジトリでプラグインが紹介されています。ここでは筆者のおすすめのプラグインを書いておきます。

セッションの自動保存と自動復活

「tmuxってセッション管理あって面倒だな〜」という方におすすめなのがtmux-continuumtmux-resurrectです。

resurrectを使うと、「セッションのレイアウト・ディレクトリ・実行プログラム」を任意のタイミングで保存・復帰できます。continuumはその自動版です。

tmux-resurrectとtmux-continuumの導入

Terminal window
set-option -g @plugin 'tmux-plugins/tmux-resurrect'
set-option -g @plugin 'tmux-plugins/tmux-continuum'
# 自動復帰をオン
set-option -g @continuum-restore 'on'

tmux-resurrectとtmux-continuumの使い方

全部「自動保存・復帰」に任せるなら、特別な操作は必要ないです。tmux-continuumにより、15分間隔で自動保存されます。

手動で保存・復帰したいなら次のキーバインドを押します。

  • 手動保存:prefix + ctrl + s
  • 手動復帰:prefix + ctrl + r

普段は自動で、たまに手動というのもアリです。

手動保存のキーバインドを変更する

筆者は「手動保存のキーバインド」を間違えて押すことが多かったため、デフォルトのものは解除してprefix + option + sに変更しました。

Terminal window
# resurrect-saveのデフォルトである prefix + C-s を解除
unbind-key -T prefix C-s
set-option -g @resurrect-save 'M-s'

tmux-resurrectの復活に失敗したら

誤って手動保存するなど、意図しないタイミングで保存されることがあります。
そういうときの対応は、別の記事tmux-resurrectの復活に失敗した時の対応にて解説しています。

その他よく見るやつ

筆者は使っていませんが、よく見かけるやつも載せておきます。

トラブルシューティング

何かあれば随時更新します。

プラグインがうまく動かない

tpmの処理が一番最後に書かれているか確認してください。

# ...
run '~/.tmux/plugins/tpm/tpm'

最後以外に書いてしまうと、一部の設定が反映されません。

プラグインをアンインストールしたい

~/.tmux/plugins/〇〇を削除するか、設定ファイルから記述を削除後にprefix + alt + uを押します。


筆者が最初のtmuxのプラグインを入れた時は、dotfilesも作りたてだったなぁ〜という懐かしい記憶。