Intenté mejorar mi experiencia vim tratando de cambiar el color de la línea de estado vim cada vez que cambia el modo.
He intentado esto: (encontrado aquí )
"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
... e incluye:
set statusline+=%{ChangeStatuslineColor()}
Pero hay un problema, si cambia al insert
modo y luego presiona Esc
para volver al normal
modo, no cambia el color. Cambiará de nuevo el color solo cuando ingrese manualmente un modo diferente.