level 6
if has('gui_running')
set statusline=%F%m%r%{Supnr(bufnr('%'))}%=%{(&co>70)?strftime(\"│%I:%M%p\"):''}%{(&co>50)?(&fenc!='')?'│'.&fenc:'│nil':''}│%{toupper(&ff[0])}│%{(&ft!='')?&ft:'nil'}│%l,%c│%L
else
set statusline=%F%m%r%=%{(&co>70)?strftime(\"\|%H:%M\"):''}%{(&co>50)?(&fenc!='')?'\|'.&fenc:'\|nil':''}\|%{toupper(&ff[0])}\|%{(&ft!='')?&ft:'nil'}\|%l,%c\|%L
endif
function! Supnr(num) "{{{
return substitute(string(a:num),'\(\d\)',
\'\=nr2char(s:snuv[str2nr(submatch(1))])','g'
endfunction
let s:snuv = [0x2070,0xb9,0xb2,0xb3,0x2074,0x2075,0x2075,0x2077,0x2078,0x2079]
"}}}
包括文件路径,buffer号,时间,编码,换行类型,语法,光标位置,总行数
然后是autocmd,设置normal模式的颜色是墨绿色,进入insert模式会变为深红色
augroup statusline "{{{
au!
au FileType help,qf setlocal statusline=%f%=│%P│%L foldcolumn=0 number
if has("gui_macvim")
au InsertEnter * hi StatusLine guibg=DarkRed
au BufEnter,InsertLeave * hi StatusLine guibg=DarkSlateGray
else
au InsertEnter * hi StatusLine guifg=DarkRed guibg=White
au BufEnter,InsertLeave * hi StatusLine guifg=DarkSlateGray guibg=White
endif
augroup END "}}}
效果:
