lightlineからairlineへ
powerlineからairline、そしてlightlineへ切り替えたと思うがその経緯については全く覚えてない。
vim設定の見直しを検討していてなるべく設定の記述が少ない方がいいと思いairlineに変更した。
○や□、▶︎などが崩れる場合の対策
- iterm2 ▶︎ Profiles ▶︎ Text ▶︎ Unicodeの「Treat ambiguous-width characters as double width(not recommended)をチェックする。
- vimrcに「set ambiwidth=double」を追加
注意:vimだけを使うことであればこの設定でも問題がないが、tmuxと一緒に使う場合はやめた方がいい。powerline系のステータスバーが崩れてしまう。
vimrcのairline設定
powerlineのフォントが設置されてない場合は正常に表示されない。
rictyについてはこちらを参考にしていただければと思う。
- Powerline用のrictyに変更してもambiwidth=doubleになっていると◀︎や⮃などが崩れてしまう。
- ◀︎や⮃は旧Powerline用のsymbolsを使う。
結果としては下記のように設定すれば丁度見栄えがいい感じになった。
" ○や□の文字が崩れる問題を回避setambiwidth=double
... snip ...
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
... snip ...
" Powerline系フォントを利用するsetlaststatus=2letg:airline_powerline_fonts =1letg:airline#extensions#tabline#enabled =1letg:airline#extensions#tabline#buffer_idx_mode =1letg:airline#extensions#whitespace#mixed_indent_algo =1letg:airline_theme ='papercolor'if!exists('g:airline_symbols')letg:airline_symbols = {}
endif" unicode symbolsletg:airline_left_sep ='»'letg:airline_left_sep ='▶'letg:airline_right_sep ='«'letg:airline_right_sep ='◀'letg:airline_symbols.crypt ='🔒'letg:airline_symbols.linenr ='␊'letg:airline_symbols.linenr =''letg:airline_symbols.linenr ='¶'letg:airline_symbols.maxlinenr ='☰'letg:airline_symbols.maxlinenr =''letg:airline_symbols.branch ='⎇'letg:airline_symbols.paste='ρ'letg:airline_symbols.paste='Þ'letg:airline_symbols.paste='∥'letg:airline_symbols.spell='Ꞩ'letg:airline_symbols.notexists ='∄'letg:airline_symbols.whitespace ='Ξ'" powerline symbolsletg:airline_left_sep =''letg:airline_left_alt_sep =''letg:airline_right_sep =''letg:airline_right_alt_sep =''letg:airline_symbols.branch =''letg:airline_symbols.readonly=''letg:airline_symbols.linenr =''" old vim-powerline symbols" let g:airline_left_sep = '⮀'" let g:airline_left_alt_sep = '⮁'letg:airline_right_sep ='⮂'letg:airline_right_alt_sep ='⮃'" let g:airline_symbols.branch = '⭠'" let g:airline_symbols.readonly = '⭤'" let g:airline_symbols.linenr = '⭡'
tmuxline.vimを使う場合
tmuxline.vimはtmuxのステータスバーを作るためのgeneratorだ。
ここが問題だが、iterm2のambiguous-widthやvimrcのambiwidth=doubleがある場合、tmuxのステータスバーが崩れてしまう。
一部の絵文字を正常に表示させる対価としては失ってしまうのが大きい。
そもそも使うのも推奨されていなかったし、powerlineを使っている場合は画面崩れの障害ポイントになる可能性が高い。