statusline.vim (2571B)
"statusline, remove git related functions if we are exploring directories if isdirectory(expand('%')) set laststatus=2 set statusline= " left align set statusline+=%2*\ " blank char set statusline+=%2*\ 0 set statusline+=%2*\ set statusline+=%1*\ << set statusline+=%1*\ %f " short filename set statusline+=%1*\ >> set statusline+=%= " right align set statusline+=%* set statusline+=%3*\%h%m%r " file flags (help, read-only, modified) set statusline+=%4*\ 0 set statusline+=%3*\%.25F " long filename (trimmed to 25 chars) set statusline+=%3*\:: set statusline+=%3*\%l/%L\\| " line count set statusline+=%3*\%y " file type else set laststatus=2 set statusline= " left align set statusline+=%2*\ " blank char set statusline+=%2*\%{b:gitdiffs} " include info about committed changes between current branch and master set statusline+=%2*\ set statusline+=%1*\ << set statusline+=%1*\ %f " short filename set statusline+=%1*\ >> set statusline+=%= " right align set statusline+=%* set statusline+=%3*\%h%m%r " file flags (help, read-only, modified) set statusline+=%4*\%{b:gitbranch} " include git branch set statusline+=%3*\%.25F " long filename (trimmed to 25 chars) set statusline+=%3*\:: set statusline+=%3*\%l/%L\\| " line count set statusline+=%3*\%y " file type hi User1 ctermbg=black ctermfg=grey guibg=black guifg=grey hi User2 ctermbg=green ctermfg=black guibg=green guifg=black hi User3 ctermbg=black ctermfg=lightgreen guibg=black guifg=lightgreen endif "statusline helper functions function! StatuslineGitBranch() let b:gitbranch="" let b:gitdiffs="" if &modifiable try lcd %:p:h catch return endtry let l:gitrevparse=system("git rev-parse --abbrev-ref HEAD") lcd - if l:gitrevparse!~"fatal: not a git repository" "name of our git branch, if we are in one let b:gitbranch="(".substitute(l:gitrevparse, '\n', '', 'g').") " "short info about committed changes of this branch vs master let b:gitdiffs=system('git diff --shortstat $(git branch --show-current 2>/dev/null) master 2>/dev/null | sed -E "s/([a-z ]+) //g"') endif endif endfunction