LoginSignup
214

More than 5 years have passed since last update.

tmux の status line の設定方法

Posted at

status line の設定方法について調べたのでここにメモしておきます。

status line の構成

tmux の status line は下図のように 3 つの部分から構成されています。

tmux-statusline-1.png

status-left の部分はデフォルトではセッション名が表示されています。
status-right の部分はデフォルトでは現在のウィンドウのタイトルと、現在時刻が表示されています。
window-status にはデフォルトではウィンドウのインデクス、名前、フラグが表示されます。

status line の設定

とりあえず、下のような status line を設定してみました。サンプルとして、無駄にロードアベレージを表示しています。

tmux-statusline-2.png

# status line を更新する間隔を 1 秒にする
set-option -g status-interval 1

# window-status を中央揃えで配置する
set-option -g status-justify "centre"

# status line の背景色を指定する。
set-option -g status-bg "colour238"

# status line の文字色を指定する。
set-option -g status-fg "colour255"

# status-left の最大の長さを指定する。
set-option -g status-left-length 20

# status-left のフォーマットを指定する。
set-option -g status-left "#[fg=colour255,bg=colour241]Session: #S #[default]"

# status-right の最大の長さを指定する。
set-option -g status-right-length 60

# status-right のフォーマットを指定する。
set-option -g status-right "#[fg=colour255,bg=colour241] #h | LA: #(cut -d' ' -f-3 /proc/loadavg) | %m/%d %H:%M:%S#[default]"

# window-status のフォーマットを指定する。
set-window-option -g window-status-format " #I: #W "

# カレントウィンドウの window-status のフォーマットを指定する
set-window-option -g window-status-current-format "#[fg=colour255,bg=colour27,bold] #I: #W #[default]"

サンプルから分かる通り、status-left, status-right, window-status-[current-]format で status line に表示する文字列のフォーマットを指定できます。特殊文字列を指定することで、色を変えたり、シェルの出力を表示したりできるので、結構柔軟にいろいろなものを表示できるようになっています。

status line で指定できる特殊文字列

以下の特殊文字列が指定できます。

Character pair Replaced with
#(shell command) コマンドの出力の最初の行
#[attributes] 色や属性の変更
#H ローカルホストのホスト名
#h ローカルホストのドメイン名を除いたホスト名
#F カレントウィンドウのフラグ
#I カレントウィンドウのインデクス
#D カレントペインの識別子
#P カレントペインのインデクス
#S セッション名
#T カレントペインのタイトル
#W カレントウィンドウの名前
## #

#(shell command) で実行した結果の文字列に #[attributes] が含まれている場合、attributes にしたがって色や属性の変更が起こります。それ以外の特殊文字列が含まれていても無視されるようです。

#24T のように特殊文字の前に数字を書くと最大長を指定できます。

また、上記の特殊文字列に加えて、%Y-%m-%d %H:%M:%S などの strftime が認識する特殊文字列も書くことができます。

attributes に指定できる文字列

#[fg=colour255] のように色を指定できます。指定できる色については、下記の色一覧を参照してください。

また、#[bold] というように色以外にもいくつかの属性を設定できます。設定できる属性は以下の通りです。

  • bright (or bold)
  • dim
  • underscore
  • blink
  • reverse
  • hidden
  • italics

複数の属性を指定するときはコンマで区切って指定します。

また、#[default] と書くと属性をリセットできます。

色一覧

tmux-powerline についてくる color_palette.sh を実行すると色一覧を出力してくれます。

tmux-colours.png

参考文献

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
214