vimのプラグインlightline.vim のカスタマイズ
今回は,vimのステータスラインに有益な情報を見やすく表示してくれるプラグイン、lightline.vimをカスタマイズする方法についてご紹介します.
参考:私が使用している便利なプラグイン一覧
vim とても強力なプラグインたち
lightline.vimを用いてステータスラインを美しく
vimにはステータスラインという、編集ファイルの文字コードを初めとする詳細情報を表示することができます。
:set statusline=2
しかし上の写真からも分かるよう、素のvimで表示されるstatuslineはあまりにも味気ないのです。
そこで、lightline.vimというプラグインを用いてstatuslineを美しくカスタマイズしましょう。
https://github.com/itchyny/lightline.vim
プラグインlightline.vimの導入
筆者はdeinにてプラグイン管理を行っておりますので、tomlファイルの記述例を紹介します。
[[plugins]]
repo = 'itchyny/lightline.vim'
hook_add = '''
let g:lightline = { 'colorscheme': 'wombat' }
set laststatus=2
set noshowmode
'''
‘colorscheme’: ‘wombat’
でlightlineのカラースキームを設定します。
lightlineにはデフォルトで、’powerline’, ‘wombat’, ‘jellybeans’, ‘solarized dark’, ‘solarized light’, ‘PaperColor light’, ‘seoul256’, ‘one’, ‘landscape’ のカラースキームが収録されています。
set laststatus=2
ステータスラインを表示する設定です。
set noshowmode
左下に表示される -挿入- などの文字を表示しない設定にします。(lightlineで現在のモードが表示されるため。)
もしdeinではなく他のプラグインマネージャを使っている場合、上記テキストのhook_add = ”’ ~ ”’で囲まれた部分のみを.vimrcに記述していただければ大丈夫です。
表示内容のカスタマイズ
lightlineでは、以下のように直感的にステータスラインに表示する項目を設定することができます。
let g:lightline = {
\ 'enable': { 'tabline': 0 },
\ 'colorscheme': 'wombat',
\ 'active': {
\ 'left': [ ['mode', 'paste'], ['readonly', 'filename', 'modified'] ],
\ 'right': [ ['percent'], ['fileencording'] ]
\ },
\ 'inactive': {
\ 'left': [ ['filename'] ],
\ 'right': [ ['percent'], ['fileencording'] ]
\ },
\ 'separator': { 'left': "", 'right': "" },
\ 'subseparator' :{ 'left': '|', 'right': '|' }
\}
表示したい項目をリスト形式で記述していくだけの簡単設定です。
使用できる文字列は、lightline.vimのgitページを参照していただければと思います。
セパレータ、サブセパレータも設定することができます。
表示内容に独自の関数を使用する
lightlineの表示内容に独自の関数を設定することもできます。
function! Myfunction()
return 'hogehoge'
endfunction
let g:lightline = {
\ 'enable': { 'tabline': 0 },
\ 'colorscheme': 'wombat',
\ 'active': {
\ 'left': [ ['mode', 'paste'], ['readonly', 'filename', 'modified'] ],
\ 'right': [ ['myfunction'], ['fileencording'] ]
\ },
\ 'component_function': {
\ 'myfunction': 'Myfunction',
\ }
\}
上記のように、lightlineの表示内容に独自関数を設定することもできます。この機能のおかげでカスタマイズの幅がグッと広がりますね。
powerline-shellのような見た目にも
最後に、セパレータ・サブセパレータを編集するとこのようにposerline-shellのようなお洒落な見た目にすることもできます。
このような見た目にするために、
ターミナルでの使用フォントをNerd Fontに変更する
Nerd Fontとは、、、既存フォントとアイコンフォントを合成したもの。私はこちらのサイトのUbuntuMono Nerd Fontを用いています。
(Ubuntu Mono以外にも、様々なプログラミングに適したフォントがNerd Fontとしてダウンロードできます。)
lightline.vimの設定でセパレータを設定する
セパレータに適した文字は、上記Nerd Fontサイトのアイコン検索にて’nf-pl’と検索すると出てきます。左右のセパレータをそれぞれ指定します。
セパレータの設定しだいで、ターミナルとは思えないような面白い見た目になると思うので、色々設定してみてはいかがでしょうか。
参考:私が使用している便利なプラグイン一覧
vim とても強力なプラグインたち
以上、vimのプラグインlightline.vim のカスタマイズについてでした。