Modificar dinamicamente o grupo StatusLine
highlight é a abordagem errada. Isso substitui quaisquer predefinições do esquema de cores e parece não funcionar (talvez a adição de um :redraw[status]
possa ajudar, mas isso tornaria a implementação ainda mais feia).
O Vim permite especificar um grupo de realce personalizado na linha de status (até múltiplo), com o símbolo %#HLname#
. Veja :help 'statusline'
para detalhes. Você pode alterar dinamicamente o valor 'statusline'
(isso também permite cores diferentes para diferentes linhas de status) ou usar a abordagem %!MyStatusLine()
que reavalia o próprio valor.