tmuxのステータスバーを格好良くしたい
書き方がとても面倒だし、せっかくマニュアルを参考にして書いてもあまり格好良くない。
vimのpowerlineやairline、lightlineのようなステータスバーを見たことがあったので、ググったらtmuxline.vimという宝物を見つけた。
tmuxline.vimはtmuxのステータスバーを作るためのgeneratorである。
tmuxline.vimを使えば、tmuxのマニューアルを見ながら書き方を学ばなくてもいい。
注意点
- tmuxを先に起動
- tmuxが起動されている場合、vimの編集画面でステータスバーの確認ができる。
- .vimrcを開き、tmuxline.vimを編集しながら.vimrcをリロードすることで作りたいステータスバーが見れる。
- しかし、tpmで起動されるpluginの場合、vimの編集画面では表示されない。
- vimのpluginとしてpowerline、airline、lightlineのいずれか一つが必要
使い方
tmuxline.vimを設置する。
ここではvim plugin managerとしてvim-plugを使っている。
作りたいステータスバーのpresetとthemeを指定する。
下記の設定はtmuxline.vimのreadmeから持ってきたものだ。
vim~/.vimrc
Plug 'edkolev/tmuxline.vim'letg:tmuxline_preset = {
\'a' : '#S',
\'c' : ['#(whoami)','#(uptime | cud -d " " -f 1,2,3)'],
\'win' : ['#I','#W'],
\'cwin' : ['#I','#W','#F'],
\'x' : '#(date)',
\'y' : ['%R','%a','%Y'],
\'z' : '#H'}
letg:tmuxline_theme ='papercolor'
tmuxのステータスバーは左側と右側に別れて設定を行う。
presetの'a', 'b', 'c'が左側の設定で、'x', 'y', 'z'が右側の設定である。
'win', 'cwin'はウィンドウ名を表示する設定だ。
vimのコマンドモードでTmuxlineSnapshot 「ファイル名」を実行してみよう。
ここでのファイル名はtmuxline.confにする。
:TmuxlineSnapshot tmuxline.conf
tmuxline.confというtmuxステータスバーを表示するための設定ファイルが作られる。
.tmux.confファイルからtmuxline.confファイルを読み込む設定を追加する。
tmuxline.vimで生成された設定ファイルは、.tmuxというディレクトリを生成してその配下で管理することを推奨する。
tpmを使っている場合はすでに生成されている。
# tmuxline.vim
source-file~/.tmux/tmuxline.conf
リロードする前にtmuxline.vimから生成されたtmuxline.confの下記の行を修正する。
- set -g status-utf8 "on"+ set -gq status-utf8 "on"
.tmux.confファイルリロードすれば、新しいステータスバーが表示される。
tmux source-file .tmux.conf
リロードするたびにコマンドを実行するのは面倒な作業なので、バインディングを追加する。
「prefix + r」を押すことで設定ファイルをリロードする。
bind r source-file ~/.tmux.conf\; display "Reloaded!"
おまけに設定も入れて置いたので、必要な方は参考にしていただければと思う。
" tmuxlineletg:tmuxline_preset = {
\'a' : '#S',
\'c' : ['#(whoami)'],
\'win' : ['#I','#W'],
\'cwin' : ['#I','#W','#F'],
\'x' : ['#{battery_percentage} #{battery_icon}','#{cpu_percentage} #{cpu_icon}'],
\'y' : ['%a','%R','#(ansiweather -l tokyo -w false -h false -p false -a false | cut -d " " -f7,8,9)'],
\'z' : '#H',
\'options' : {'status-justify':'left'}}
letg:tmuxline_theme ='papercolor'
右側にバッテリーとCPUの使用率、天気情報を表示しているのが見えるだろうか。
バッテリーやCPUはtmuxのpluginを設置して表示しているもので、天気情報はansiweatherというコマンドで表示している。
tmuxのpluginを設置するためにはtpmというplugin managerが必要だ。
tpmの使い方については別途の記事を作成したので、ご参考にしていただければと思う。
ちなみに僕はvim-airlineを使っていてthemeもvim-airlineのものを共有して使っている。
vim-airlineのthemeの中で好みのthemeを探してみよう。
こちらで確認ができる。