3
1
I've tried to improve my vim experience trying to have the vim statusline color to change everytime the mode changes.
I've triend this: (found here)
"Automatically change the statusline color depending on mode
function! ChangeStatuslineColor()
if (mode() =~# '\v(n|no)')
exe 'hi! StatusLine ctermfg=008'
elseif (mode() =~# '\v(v|V)' || g:currentmode[mode()] ==# 'V·Block' || get(g:currentmode, mode(), '') ==# 't')
exe 'hi! StatusLine ctermfg=005'
elseif (mode() ==# 'i')
exe 'hi! StatusLine ctermfg=004'
else
exe 'hi! StatusLine ctermfg=006'
endif
return ''
endfunction
...and include:
set statusline+=%{ChangeStatuslineColor()}
But there's an issue, if you switch to insert
mode and then press Esc
to come back to normal
mode, it doesn't change back the color. It'll change back the color only when you manually enter a different mode.
Thank you for this answer! Seems to be a better solution indeed. I'll get my head on it, thanks – rossijonas – 2018-01-25T15:36:10.643