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さんと一緒に「ターミナルマルチプレクサ勉強会」を 開催した際に、@banyanさんのプレゼンの言葉に共感したのでそれを書いて締めたいと思います。

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

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

Comments