diff options
Diffstat (limited to 'nvim/statusline.vim')
| -rw-r--r-- | nvim/statusline.vim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nvim/statusline.vim b/nvim/statusline.vim new file mode 100644 index 0000000..2928a5b --- /dev/null +++ b/nvim/statusline.vim | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | " Statusline | ||
| 2 | function! GitBranch() | ||
| 3 | return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") | ||
| 4 | endfunction | ||
| 5 | |||
| 6 | function! StatuslineGit() | ||
| 7 | let l:branchname = GitBranch() | ||
| 8 | return strlen(l:branchname) > 0?' '.l:branchname.' ':'' | ||
| 9 | endfunction | ||
| 10 | |||
| 11 | let g:currentmode={ | ||
| 12 | \ 'n' : 'n', | ||
| 13 | \ 'v' : 'v', | ||
| 14 | \ 'V' : 'vl', | ||
| 15 | \ '' : 'vb', | ||
| 16 | \ 'i' : 'i', | ||
| 17 | \ 'R' : 'r', | ||
| 18 | \ 'Rv' : 'rv', | ||
| 19 | \ 'c' : 'c', | ||
| 20 | \ 't' : 'f', | ||
| 21 | \} | ||
| 22 | |||
| 23 | set laststatus=2 | ||
| 24 | set statusline= | ||
| 25 | set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='n')?'\ \ normal\ ':''} | ||
| 26 | set statusline+=%#InsertColor#%{(g:currentmode[mode()]=='i')?'\ \ insert\ ':''} | ||
| 27 | set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='r')?'\ \ replace\ ':''} | ||
| 28 | set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='rv')?'\ \ v-replace\ ':''} | ||
| 29 | set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='v')?'\ \ visual\ ':''} | ||
| 30 | set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vl')?'\ \ v-line\ ':''} | ||
| 31 | set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vb')?'\ \ v-block\ ':''} | ||
| 32 | set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='c')?'\ \ command\ ':''} | ||
| 33 | set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='f')?'\ \ finder\ ':''} | ||
| 34 | set statusline+=%#PmenuSel# | ||
| 35 | set statusline+=%{StatuslineGit()} | ||
| 36 | set statusline+=%#Statusline# | ||
| 37 | set statusline+=\ %f | ||
| 38 | set statusline+=%m | ||
| 39 | set statusline+=%= | ||
| 40 | set statusline+=%#StatusLineNc# | ||
| 41 | set statusline+=\ %y | ||
| 42 | set statusline+=\ %{&fileencoding?&fileencoding:&encoding} | ||
| 43 | set statusline+=\ %p%% | ||
| 44 | set statusline+=\ %l:%c | ||
| 45 | |||
