Tmux Plugin Manager(TPM)を使う

TL;DR

tmux-plugins/tpmを使うと,Gemfilepackage.jsonのように,tmux用のpluginを~/.tmux.confに書いてインストール/有効化することができる.

使い方

まず,tpmをインストールする.

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

次に,以下のように~/.tmux.confに利用したいプラグインを記述する.プラグインはtmux-pluginsにまとまっている.

set -g @tpm_plugins " \
    tmux-plugins/tpm \
    tmux-plugins/tmux-sidebar \
    tmux-plugins/tmux-copycat \
    tmux-plugins/tmux-open \
    tmux-plugins/tmux-resurrect \
    tmux-yank/tmux-yank \
    tmux-plugins/tmux-battery \
    tmux-plugins/tmux-online-status \
"

# Initialize tpm
run-shell ~/.tmux/plugins/tpm/tpm

あとは,tmuxを起動してPrefix+Iを実行すれば,プラグインがインストールされる.

プラグイン

以下のようなものを使い始めた.

  • tmux-resurrect - マシンを再起動しても,tmux-serverが死んでも,保存しておいたsessionやpane,プロセスを復活させられるやつ(デモ).
  • tmux-sidebar - ディレクトリツリーを表示する.emacsのdirexのtmux版.
  • tmux-open - ハイライトしているファイルやURLを開く.
  • tmux-yank - システムのクリップボードへコピー可能にする.OSXとLinuxの両方で同じように使える.
  • tmux-battery - ステータスバーにバッテリーの残量を表示する.ステータスバーの設定項目に#{battery_icon}#{battery_percentage}を記述するだけ.

プラグインは自作することができる.作り方は“How to create Tmux plugins”にまとまっている.プラグインはとてもシンプルで.tmuxファイルと,いくつかのシェルスクリプトを準備するだけで良い.動作としてはtpm.tmuxを呼び出して,.tmuxrun-shellでシェルスクリプトを実行する.

まとめ

今はまだtpmの作者が独りでゴリゴリとプラグインを作ってる段階で,それほどプラグインは多くない.そのうち面白いものも出てきそう.

プラグインを一括管理できるのも良いけど,今までいろんなブログのツギハギかつ無理矢理だったもの,例えばコピーの設定などが,OSSベースのより洗練された設定になっていきそうなのが嬉しい.プラグイン作成は簡単そうなので自分でもそのうち作ってみようかと.

Emacsのパッケージ管理もCaskに移行したし,dotfilesが整理されつつある.

参考