Glide Note

glidenote's blog

tmuxの外観をカスタムして、運用と開発を加速させる

ターミナルマルチプレクサ Advent Calendar 2011の16日目です。
15日目はdodaさんのリモートの tmux でコピーした内容のローカルのクリップボードへの反映でした。

tmuxを利用し、

  • sshでリモートサーバに接続するたびに、ホスト別にwindowを生成
  • エディタ用、コマンド操作用、負荷監視用など用途別にwindowを生成し、paneを増やし画面分割

などをしていると、今は「どのwindow」の「どのpane」で作業をしているのか分からなくなることがあります。

これは意図せず他のサーバで作業をしてしまい、事故を引き起こしてしてしまう可能性があるため、 私はtmuxの外観をカスタムすることで、「どのwindow」の「どのpane」にいるか瞬時に判断出来るようにしています。

デフォルトのtmux

.tmux.confをいじらずに利用している場合 http://www.glidenote.com/wp-content/uploads/2011/12/nomal_conf.png

俺のtmux

http://www.glidenote.com/wp-content/uploads/2011/12/custom_conf.png

俺のステータスバー

http://www.glidenote.com/wp-content/uploads/2011/12/status.png

俺のこだわり

  • ステータスの色を変更 (status-fg,status-bg)
  • 画面左下にtmuxを起動しているマシンのホスト名を表示 (status-left)
  • 画面右下に時計を表示(statu-right)
  • 今作業をしているアクティブなwindowだけ色をつける (window-status-current-fg,window-status-current-bg,window-status-current-attr)
  • 今作業をしているアクティブなpaneの外枠に色をつける (pane-active-border-fg,pane-active-border-bg)
  • 長時間利用するので目に優しい配色

.tmux.confをまとめて書くと下記のような感じです

余談ですが、.tmux.confに記載する際に利用するset-option(セッションの設定)とset-window-option(ウィンドウの設定)は

と略して書くことが出来ます。見やすい設定のために書式を統一しておきましょう。

サンプルから記載方法を学ぶ

.tmux.confのサンプルは私の利用するRHEL系OSの場合

1
2
/usr/share/doc/tmux-1.4/examples
/usr/share/doc/tmux-1.5/examples

などの配下にあるので、それを参考にすると良いかと思います。

外観を修正する際にしておくと便利な設定

外観をカスタムする際に、.tmux.confの再読みをキーバインドで割り当てておくと便利です。 設定を修正し、再読み込みをさせるですぐに結果が分かります。 私は下記のようにキーバインドを割り当てています

より良いターミナル、tmux環境へ

最近、社内で@banyanさんと一緒に「ターミナルマルチプレクサ勉強会」を [email protected]したのでそれを書いて締めたいと思います。

tmux では、空気を吸うように
画面分割をする。
動作を意識せず、直感で行う。

良いターミナル、tmux環境は、運用と開発を加速させるので、みんなでより良いものを目指していきましょう!
それでは!

Comments