+" statusline
+function! StatusModeColor()
+ if (mode() =~# '\v(n|no)')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow
+ elseif (mode() =~# '\v(v|V)')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red
+ elseif (mode() ==# 'i')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue
+ elseif (mode() ==# 'c')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Green
+ else
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey
+ endif
+
+ return ''
+endfunction
+
+function! StatusModifiedColor()
+ if getbufinfo(1)[0].changed
+ hi User1 cterm=None gui=None ctermfg=Black ctermbg=Magenta
+ else
+ hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
+ endif
+
+ return ''
+endfunction
+
+function! BufCount()
+ return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1})))
+endfunction