Я использую пару автоматических команд, чтобы сделать выделение посторонних пробелов в моей настройке vim на InsertLeave
и BufReadPost
событиях. Недавно я начал использовать плагин для выделения отступов (https://github.com/nathanaelkane/vim-indent-guides)Создание пользовательского события в Vim
Проблема в том, что если есть пустая строка с отступом, она подсвечивается плагином отступов, а не моими автоматическими командами. То, что я хотел бы сделать, это добавить настраиваемое событие в плагин, так что когда это будет сделано, подсветка я могу настроить, чтобы мои автокоманды запускали и перезаписывали это выделение в тех случаях, когда это необходимо.
Например, это тип потока я хотел бы (или, по крайней мере, что-то подобное):
indent-guides plugin activates
indent-guides plugin highlights all indentation
indent-guides plugin triggers custom event signaling it is done
indent-guides plugin exits
auto command whitespace highlighter is triggered by indent-guides completion event
Вот авто команды, которые я использую для пробельных выделить:
autocmd InsertEnter * syn clear EOLWS | syn match EOLWS excludenl /\s\+\%#\@!$/
autocmd InsertLeave,BufReadPost * syn clear EOLWS | syn match EOLWS excludenl /\s\+$/
EDIT:
Я решил эту проблему другим способом (путем редактирования другого плагина). Это все еще не отвечает на этот конкретный вопрос, поэтому я не буду размещать это как решение.
Мое решение проблемы в виде плагина: https://github.com/ntpeters/vim-better-whitespace
Мне не удалось найти конкретное решение для моего первоначального вопроса, но я решил проблему с помощью плагина, который я написал. Поскольку это не решает исходный вопрос, я не буду публиковать его как решение. Не стесняйтесь проверить плагин. Я связал его в ОП. – PseudoPsyche