You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.0 KiB
VimL

function! StatuslineGitInfo()
let git = fugitive#head()
if git != ''
return " ".fugitive#head()
else
return ""
endfunction
function! StatusLinePaste()
if &paste
return "PASTE"
else
return ""
endif
endfunction
function! MyStatusLine(mode)
let statusline = ""
if a:mode == "Enter"
let statusline .= "%#StatusLineColor#"
else
let statusline .= "%#NoStatusLineColor#"
endif
let statusline .= "\ %f\ %m%r %{StatuslineGitInfo()}\ "
let statusline .= "%= "
let statusline .= "%{toupper(mode())}"
let statusline .= "\ %{StatusLinePaste()}"
let statusline .= "%= "
let statusline .= "\ %y\ %{&fileencoding?&fileencoding:&encoding}\/\%{&fileformat}\ \|\ %l:%c\ "
return statusline
endfunction
hi StatusLineColor ctermbg=White guibg=White ctermfg=Black guifg=Black
hi NoStatusLineColor ctermbg=NONE guibg=NONE ctermfg=LightGrey guifg=LightGrey
au WinEnter * setlocal statusline=%!MyStatusLine('Enter')
au WinLeave * setlocal statusline=%!MyStatusLine('Leave')
set statusline=%!MyStatusLine('Enter')