+" 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=LightGrey
+ else
+ hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
+ endif
+
+ return ''
+endfunction
+
+call StatusModeColor()
+
+" set showtabline=2
+
+set laststatus=2
+set statusline=
+set statusline+=%{StatusModeColor()}
+set statusline+=%{StatusModifiedColor()}
+set statusline+=\ vim\ \[%{mode()}\]
+set statusline+=\ %1*\ %F\ %m
+set statusline+=%=
+set statusline+=%0*
+set statusline+=\ %ff
+set statusline+=\ %r\[%{v:register}\]
+set statusline+=\ %l/%L:%c
+set statusline+=\
+