Динамическое изменение StatusLine
группы выделения - неправильный подход. Это переопределяет любые предустановки вашей схемы цветов и, похоже, не работает (может быть, добавление a :redraw[status]
поможет, но это сделает реализацию еще более уродливой).
Vim позволяет указать пользовательскую группу подсветки в строке состояния (даже несколько) с %#HLname#
символом. Смотрите :help 'statusline'
подробности. Вы можете либо динамически изменить 'statusline'
значение (это также позволяет использовать разные цвета для разных строк состояния), либо использовать %!MyStatusLine()
подход, который переоценивает само значение.