Я пытался улучшить свой опыт vim, пытаясь изменить цвет строки состояния vim при каждом изменении режима.
Я сочинил это: (найдено здесь)
    "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
... и включают в себя:
set statusline+=%{ChangeStatuslineColor()} 
Но есть проблема, если вы переключаетесь в режим insert а затем нажимаете Esc чтобы вернуться в normal режим, цвет не меняется. Он изменит цвет только тогда, когда вы вручную войдете в другой режим.
