Edited at

vim-powerline のカスタムメモ

More than 5 years have passed since last update.

====

vim-powerlineにはvim-colors-solarized用のカラースキームとテーマがあるため、Vimの表示全体をsolarizedで統一できます。

background=light な明るいカラースキームがお好きであれば

set background              =light

let g:Powerline_theme ='solarized256'
let g:Powerline_colorscheme ='solarized'
colorscheme solarized

background=dark な暗めがお好きであれば

set background              =dark

let g:Powerline_theme ='solarized256'
let g:Powerline_colorscheme ='solarized256'
colorscheme solarized

となります。

ただし、これには欠点があって、solarized 用のテーマは statusline に表示されるSegment(項目)がデフォルトのものに比べて少なく、filetype, fileformat, fileencoding などが表示されません。

なんだかんだでやっぱり不便なため、これらを追加します。

Pl#Theme#InsertSegment()を使って、以下のようにします。

let s:prev_seg = 'paste_indicator'

for seg in ['fileformat', 'fileencoding', 'filetype', 'lineinfo']
call Pl#Theme#InsertSegment(seg, 'after', s:prev_seg)
let s:prev_seg = seg
endfor
unlet s:prev_seg

これは、 paste_indicator (solarizedのテーマでstatuslineの一番右に配置されているSegment, autoload/Powerline/Themes/solarized256.vim参照)の後に順番にSegmentを追加しています。

ここでは、fileformat(改行コード), fileencoding(エンコーディング), filetype(ファイルタイプ), lineinfo(行:列) を順に追加しています。詳しくはPowerlineをインストールしたディレクトリのautoload/Powerline/Segments.vimあたりを参考にしてください。

他には以下のようなものがあります。



  • paste_indicator : オプション &paste が有効か


  • mode_indicator : ノーマル/インサート/Visual/etc...


  • fileinfo : ファイルのパス、&readonly, &modified などなどまとめて表示


  • flags.ro : &readonly


  • filepath : ファイルのパス


  • filename : ファイル名


  • flags.mod : &modified


  • filesize : ファイルサイズ


  • pwd : カレントディレクトリ


  • fileformat : &fileformat


  • fileencoding : &filencoding


  • filetype : &filetype


  • scrollpercent : 全行数のうちのカーソル行の % 表示


  • lineinfo : カーソル位置の行:列情報


  • line.cur : 現在行


  • line.tot : 全行数


  • charcode : カーソル位置の文字コード


  • currhigroup : カーソル位置のハイライトグループ


  • ws_marker : 行末の空白存在表示