tmuxのステータスをpowerlineっぽくしてzshのviモードを使いやすくする

風邪引きました。
みなさんも体調にはお気をつけください。

今まで

現在自分のPCではzshを使ってます。
いちおうvimmerなのでzshもviキーバインドで使ってるんですが、普通の設定だと現在のモードが確認できなくて不便です。

で、今までは以下のページを参考に、.zshrcをごにょごにょしてモードを表示させてました。
めも - zshのキーバインドをViにしたらモードを表示したい

こんな感じでターミナルの一番下に現在のモードが表示されます。べんり。

が、これが結構バギーでくせ者です。
例えば最下部でecho 'hoge'とか打つとモード表示とechoの表示が被ってしまったり。

tmuxを使う

そこで、最近screenから乗り換えたtmuxのステータス機能を使ってモード表示することにしました。
どうせならpowerlineっぽく見栄えも良くしたい。

一応世の中にはtmux-powerlineというものもありますが、
任意のタイミングで任意の文字を表示させるには最初から書いた方が簡単そうだったので作りました。

ということで完成した画面がこちら。

導入

.zshrc

以下を追記。

.tmux.conf

以下を追記。lengthは表示幅なので適当に変えてください。

set -g status-justify "centre"
set -g status-right-length 39
set -g status-left-length 32
setw -g utf8 on
set -g status-utf8 on
.battery

右下にバッテリー表示するために以下のブログを参考に作った。
ホームディレクトリに設置。
重箱の隅で体育座りしている : tmuxのステータスバーにMacのバッテリー情報をのせる

font

powerlineのfontpacherを使ってパッチを当ててください。

問題点

_人人人人人人人人_
> vimが見にくい <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

あと、ノーマルモードと挿入モード以外には対応してないです。