私のvimrcは、読み取り専用か変更されたかに基づいて、ステータスラインのバッファ番号を異なる色の背景に設定します。
また、バッファがアクティブ ウィンドウにない場合は別の色を設定したいと思います (分割ウィンドウ モードの場合に便利です)。
&mod
およびを使用し&readonly
て、変更または読み取り専用を検出しています。バッファがアクティブなウィンドウにあるかどうかを確認するにはどうすればよいですか? (つまり、ウィンドウが非アクティブな場合はグレーに変更してください)。
読み取り専用で変更したコードを次に示します。
function! StatusLineHeader()
return ' '.bufnr('%').' '
endfunction
set statusline=
set statusline+=%#UWhiteOnBlue#%{&mod?'':&readonly?'':StatusLineHeader()} "default header
set statusline+=%#UWhiteOnOrange#%{&mod?'':&readonly?StatusLineHeader():''} "readonly header
set statusline+=%#UWhiteOnGreen#%{&mod?StatusLineHeader():''} "modified header