Vim: Показывать только «файл был изменен», только если содержимое отличается - PullRequest
13 голосов
/ 29 ноября 2010

Можно ли настроить Vim так, чтобы он отображал только:

WARNING: The file has been changed since reading it!!!

Если файл действительно отличается , а не только при изменении временной метки?

Например, я довольно часто справляюсь с Vim (^ Z), возвращаюсь к более старой версии файла (например, чтобы запустить набор тестов для него), возвращаюсь к текущей версии и fg Vim снова…Но я все еще получаю предупреждение «файл изменился», потому что, хотя содержимое идентично, временная метка изменилась.

1 Ответ

6 голосов
/ 29 ноября 2010

Если примерить vim 7.3

:help timestamp

Говорят, что
When Vim notices the timestamp of a file has changed, and the file is being edited in a buffer but has not changed, Vim checks if the contents of the file is equal. This is done by reading the file again (into a hidden buffer, which is immediately deleted again) and comparing the text. If the text is equal, you will get no warning.

Так что я предполагаю, что в вашем случае что-то изменилось, кроме метки времени файла (или есть ошибка в Vim).

В моем случае я часто получаю это сообщение при извлечении файлов: они изменяются с «только чтение» на «чтение с записью», даже если их содержимое не изменилось.

Так что я предполагаю, что если на свойства файла влияют, он считается «измененным», даже если его содержимое одинаково.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...