Подтвердить что ты не робот

Проверка Vimscript, если текущий буфер имеет несохраненные изменения

В настоящее время у меня установлена ​​моя строка состояния, чтобы она была оранжевой в режиме вставки, а в противном случае - белой. Я хотел бы сделать это другим цветом, когда я вернусь в нормальный режим, если у файла есть несохраненные изменения, так как я регулярно немного хожу по кроличьей норе, задаваясь вопросом, почему мои изменения не вступили в силу. Маленький "[+]" не ударил меня в лицо достаточно;)

Я не могу найти никаких функций, которые начинаются с "buf" и, однако, выглядят как предикаты. Я предполагаю, что он существует, но называется чем-то другим. Я ожидаю, что там будет что-то вроде bufdirty() или bufchanged(). Любые указатели?:)

4b9b3361

Ответ 1

Я думаю, что вы ищете

:echo &mod[ified]

который возвращает 1, если изменен, и 0, если не изменен.

Ответ 2

Мне нравится идея использования цвета статусной линии для указания состояния буфера. На самом деле, я написал StatusLineHighlight plugin, который указывает следующие атрибуты: измененный, readonly, немодифицируемый, специальный не файл "scratch" ( но не режим вставки, который вы используете, для этого я нахожу индикацию режима Vim в нижнем левом углу).