From e883e8e6ba90a7a585e9e21ef825bd97dc30ffb0 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Tue, 4 Jul 2023 21:36:47 +0200 Subject: Bessere Statusline für Neovim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nvim/settings.vim | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/nvim/settings.vim b/nvim/settings.vim index ee77cf2..1c9c64c 100644 --- a/nvim/settings.vim +++ b/nvim/settings.vim @@ -73,7 +73,6 @@ set undolevels=10000 set undoreload=10000 " Statusline -set laststatus=2 function! GitBranch() return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") endfunction @@ -83,20 +82,45 @@ function! StatuslineGit() return strlen(l:branchname) > 0?' '.l:branchname.' ':'' endfunction +let g:currentmode={ + \ 'n' : 'n', + \ 'v' : 'v', + \ 'V' : 'vl', + \ '' : 'vb', + \ 'i' : 'i', + \ 'R' : 'r', + \ 'Rv' : 'rv', + \ 'c' : 'c', + \ 't' : 'f', + \} + +highlight NormalColor ctermbg=black ctermfg=white +highlight InsertColor ctermbg=darkgreen ctermfg=black +highlight ReplaceColor ctermbg=darkred ctermfg=black +highlight VisualColor ctermbg=darkblue ctermfg=black + +set laststatus=2 set statusline= +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='n')?'\ \ normal\ ':''} +set statusline+=%#InsertColor#%{(g:currentmode[mode()]=='i')?'\ \ insert\ ':''} +set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='r')?'\ \ replace\ ':''} +set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='rv')?'\ \ v-replace\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='v')?'\ \ visual\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vl')?'\ \ v-line\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vb')?'\ \ v-block\ ':''} +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='c')?'\ \ command\ ':''} +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='f')?'\ \ finder\ ':''} set statusline+=%#PmenuSel# set statusline+=%{StatuslineGit()} -set statusline+=%#LineNr# +set statusline+=%#Statusline# set statusline+=\ %f -set statusline+=%m\ +set statusline+=%m set statusline+=%= -set statusline+=%#CursorColumn# +set statusline+=%#StatusLineNc# set statusline+=\ %y set statusline+=\ %{&fileencoding?&fileencoding:&encoding} -set statusline+=\ [%{&fileformat}] -"set statusline+=\ %p%% -"set statusline+=\ %l:%c -set statusline+=\ +set statusline+=\ %p%% +set statusline+=\ %l:%c " weitere Einstellungen syntax enable -- cgit v1.3