vim-powerline のカスタムメモ

  • 19
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

====

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 : 行末の空白存在表示