Tmux Plugin Managerを利用したtmux環境構築

Apple

screentmuxで設定はしてみたけど、アレ?どうやるんだっけ。ってなる時ありませんか?
こんなことを最近tmuxを使っていて実感しまして、改めてtmuxの設定を見直すのを兼ねて環境を再構築してみました。
今回はTmux Plugin Managerというtmuxにプラグイン構造を提供してくれるソフトウェアを利用します。
なぜ、これを利用したかというと

  • 設定を一から書いていくのは面倒
  • 大半が多くの人と似たような設定になる
  • 普段使っている機能はプラグインとして提供されている

というような理由です。結果として設定をずらずらと書いていく作業はありませんでした。
また、プラグインで設定されているキーバインドも私が以前に利用して設定よりも直感的になり、「アレ?なんだっけ」とキーバインドを忘れるようなことも少しは減るのではないか。と感じました。
プラグインを作る方法についても解説されているので、代替機能のプラグインがない場合は自分でプラグインを書いてしまえば良いと思います。

スポンサーリンク

インストール方法

Tmux Plugin Manager を利用方法を解説します。tmuxはバージョン1.9以上を導入しておいてください。
まずはTmux Plugin Manager をgit cloneしてきます。
$ git clone <https://github.com/tmux-plugins/tpm> ~/.tmux/plugins/tpm
~/.tmux.conf に最低限必要な設定のみを記述します。簡単な解説はコメントに記述しています。

# お好みのプレフィックスキーを設定してください
set-option -g prefix C-t
bind-key C-t send-prefix
unbind-key C-b
# マウスを利用する人は設定をしてください
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
# 利用するプラグインを記述してください(詳しくは後述を参照))
set -g @tpm<sub>plugins</sub> '
  tmux-plugins/tpm
  tmux-plugins/tmux-copycat
  tmux-plugins/tmux-logging
  tmux-plugins/tmux-open
  tmux-plugins/tmux-pain-control
  tmux-plugins/tmux-resurrect
  tmux-plugins/tmux-resurrect-auto
  tmux-plugins/tmux-sensible
  tmux-plugins/tmux-yank
'
run-shell '~/.tmux/plugins/tpm/tpm'

以上でtmuxを起動してください。

Tmux Plugin Manager

@tpm<sub>pluginsで記述したプラグインを導入・管理してくれるプラグインです。
設定したプラグインを導入するためにも、まずはこれを実施してください。

  • prefix + I … プラグインをインストール
  • prefix + U … プラグインをアップデート

利用できプラグインがいくつかある ので、興味のあるものをインストールしてみると便利です。

Tmux sensible

これは多くの利用者が設定すべきであろう基本的な設定を設定してくれるプラグインです。
何を設定しているかの詳細は README で確認できます。
mode-keysの設定が初期値だとemacsになっているのでviを利用している人は
set -g mode-keys vi
などをtmux.confに追加して設定しておくと良いかと思います。
私はprefixを初期値のbから変更しているので、この設定も追加しておきます。
set -g prefix C-t

Tmux Pain Control

tmuxのウィンドウを分割するpainの操作を直感的にできるように設定してくれるプラグインです。
README にGIFアニメとともに操作方法について説明されているので、詳しくはそちらを確認するとわかりやすいです。

Tmux copycat

tmuxに映しだされた内容から正規表現で検索できるようにしてくれるプラグインです。

  • prefix + / … 検索

検索中の操作

  • n … 次にマッチするものに移動
  • N … 一つ前にマッチするものに移動
  • Ctrl+w … ハイライトされている内容をコピー

Tmux Yank

コピーモードで選択した内容をシステムのクリップボードへ入れるための設定をしてくれるプラグイン

  • prefix + y … 選択中の内容をシステムのクリップボードに入れる

※デフォルトだとprefix + [copy-modeに入る

Tmux Logging

tmuxで操作した内容をテキストファイルに保存しておける操作を設定してくれるプラグインです。
ansifilterを導入しておけば、カラーコードも自動的に削除してくれて綺麗な作業ログを残すことができます。

  • prefix + shift + p … ロギング開始
  • prefix + alt + p … スクリーンキャプチャ
  • prefix + shift + alt + p … ロギング終了

まとめ

今回はTmux Plugin Managerのレールに乗っかることによりtmuxの環境を再構築しました。個人的にはpainの操作などがより直感的な設定になったので、今まで以上に活用していけると思います。
tmuxやプラグインで利用されている機能については下記の書籍がわかりやすくてオススメです。

タイトルとURLをコピーしました