active/inactive statusline format
This commit is contained in:
parent
0b818319fe
commit
d4bc6393d3
119
vimrc
119
vimrc
|
@ -255,57 +255,86 @@ iabbrev tehn then
|
|||
|
||||
|
||||
" #statusline format
|
||||
set statusline=%#LineNr#
|
||||
set statusline+=\ \ \
|
||||
set statusline+=%#StatusLineFile#
|
||||
set statusline+=\
|
||||
set statusline+=%#StatusLineMod#
|
||||
set statusline+=%M " modified flag
|
||||
set statusline+=%*
|
||||
set statusline+=%#StatusLineDir#
|
||||
set statusline+=\ %{expand('%:p:h:t')}/ " directory tail
|
||||
set statusline+=%#StatusLineFile#
|
||||
set statusline+=%{expand('%:t:r')}
|
||||
set statusline+=%#StatusLineDot#
|
||||
set statusline+=.
|
||||
set statusline+=%#StatusLineExt#
|
||||
set statusline+=%{expand('%:e')}\
|
||||
function! ActiveStatus()
|
||||
let l:statusline='%#StatusLineFile# '
|
||||
let l:statusline.='%#StatusLineMod#'
|
||||
let l:statusline.='%M'
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.='%#StatusLineDir# '
|
||||
let l:statusline.=expand('%:p:h:t') . '/'
|
||||
let l:statusline.='%#StatusLineFile#'
|
||||
let l:statusline.="%{expand('%:t:r')}"
|
||||
let l:statusline.='%#StatusLineDot#'
|
||||
let l:statusline.='%#StatusLineExt#'
|
||||
let l:extension=expand('%:e')
|
||||
if strlen(l:extension) > 0
|
||||
let l:statusline.='.' . l:extension
|
||||
endif
|
||||
|
||||
set statusline+=%*
|
||||
set statusline+=%q " quickfix/location list flag
|
||||
set statusline+=%h " help file flag
|
||||
set statusline+=%w " preview window flag
|
||||
set statusline+=%r " read only flag
|
||||
set statusline+=%#StatusLineNC#
|
||||
set statusline+=\
|
||||
set statusline+=%*
|
||||
set statusline+=\ %{strlen(&ft)?&ft:'none'}, " filetype
|
||||
set statusline+=%{strlen(&fenc)?&fenc:&enc}, " encoding
|
||||
set statusline+=%{&fileformat}\
|
||||
set statusline+=%#StatusLineNC#
|
||||
set statusline+=\
|
||||
set statusline+=%*
|
||||
set statusline+=\ %{&spelllang}\
|
||||
set statusline+=%#StatusLineNC#
|
||||
let l:statusline.=' %*'
|
||||
let l:statusline.='%q%h%w%r'
|
||||
let l:statusline.='%#StatusLineNC# '
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.=" %{strlen(&ft)?&ft:'none'},"
|
||||
let l:statusline.='%{strlen(&fenc)?&fenc:&enc},'
|
||||
let l:statusline.='%{&fileformat} '
|
||||
let l:statusline.='%#StatusLineNC# '
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.=' %{&spelllang} '
|
||||
let l:statusline.='%#StatusLineNC#'
|
||||
|
||||
set statusline+=%= " left/right separator
|
||||
let l:statusline.='%='
|
||||
|
||||
set statusline+=%#StatusLineNC#
|
||||
set statusline+=\
|
||||
set statusline+=%*
|
||||
set statusline+=\ \"%{v:register}\"\
|
||||
set statusline+=%#StatusLineNC#
|
||||
set statusline+=\
|
||||
set statusline+=%*
|
||||
set statusline+=\ %{ObsessionStatus(fnamemodify(v:this_session,':t'),'---')}\ " session status
|
||||
let l:statusline.='%#StatusLineNC#'
|
||||
let l:statusline.=' '
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.=' "%{v:register}" '
|
||||
let l:statusline.='%#StatusLineNC#'
|
||||
let l:statusline.=' '
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.=" %{ObsessionStatus(fnamemodify(v:this_session,':t'),'---')} "
|
||||
|
||||
set statusline+=%#InterfaceH2#
|
||||
set statusline+=\ %{LinterStatus()}
|
||||
let l:statusline.='%#InterfaceH2#'
|
||||
let l:statusline.=' %{LinterStatus()}'
|
||||
|
||||
set statusline+=%#InterfaceNormalDark#
|
||||
set statusline+=\ %P\ " percentage through file
|
||||
set statusline+=%*
|
||||
let l:statusline.='%#InterfaceNormalDark#'
|
||||
let l:statusline.=' %P '
|
||||
let l:statusline.='%*'
|
||||
return l:statusline
|
||||
endfunction
|
||||
|
||||
function! InactiveStatus()
|
||||
let l:statusline='%#StatusLineFile# '
|
||||
let l:statusline.='%#StatusLineMod#'
|
||||
let l:statusline.='%M'
|
||||
let l:statusline.='%*'
|
||||
let l:statusline.='%#StatusLineDir# '
|
||||
let l:statusline.=expand('%:p') . '/'
|
||||
let l:statusline.='%#StatusLineFile#'
|
||||
let l:statusline.="%{expand('%:t:r')}"
|
||||
let l:statusline.='%#StatusLineDot#'
|
||||
let l:statusline.='%#StatusLineExt#'
|
||||
let l:extension=expand('%:e')
|
||||
if strlen(l:extension) > 0
|
||||
let l:statusline.='.' . l:extension
|
||||
endif
|
||||
let l:statusline.=' %*'
|
||||
|
||||
let l:statusline.='%=%#InterfaceH2#'
|
||||
let l:statusline.='%{LinterStatus()}'
|
||||
|
||||
let l:statusline.='%#InterfaceNormalDark#'
|
||||
let l:statusline.=' %P '
|
||||
let l:statusline.='%*'
|
||||
|
||||
return l:statusline
|
||||
endfunction
|
||||
|
||||
augroup status
|
||||
autocmd!
|
||||
autocmd WinEnter * setlocal statusline=%!ActiveStatus()
|
||||
autocmd WinLeave * setlocal statusline=%!InactiveStatus()
|
||||
augroup END
|
||||
|
||||
|
||||
" #autocommands
|
||||
|
|
Loading…
Reference in New Issue