2010-11-29 7 views
9

Ist es möglich, die Einrichtung Vim, so dass es nur zeigen:Vim: Nur anzeigen „Datei geändert wurde“ Warnung, wenn der Inhalt ist anders

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

Wenn die Datei tatsächlich anders ist, nicht nur, wenn der Zeitstempel ändert sich?

Zum Beispiel werde ich ziemlich häufig Hintergrund Vim (^ Z), Rollback auf eine ältere Version einer Datei (z. B. um die Testsuite dagegen zu starten), zurück auf die aktuelle Version und fg Vim wieder ... Aber ich bekomme immer noch die Warnung "Datei hat sich geändert", weil der Zeitstempel sich geändert hat, obwohl der Inhalt identisch ist.

+3

Haben Sie die Option 'autoread'? –

+2

Nein ... Ich mag diese Optionen nicht, weil es bedeutet, dass ich meine Geschichte annulliere, ohne gewarnt zu werden: http://stackoverflow.com/questions/2003020/vim-maintain-the-history-of-a-file-after- es-wurde-geändert-und-neu geladen (obwohl ... Oohh ... Es sieht so aus als wäre das in 7.3 behoben worden: D) –

Antwort

5

Wenn Sie auf vim versuchen 7,3

:help timestamp

Es wird gesagt, dass
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.

Damit ich denke, in Ihrem Fall etwas anderes verändert hat als der Dateizeitstempel (oder es ist ein Fehler in Vim).

In meinem Fall bekomme ich oft diese Nachricht, wenn ich Dateien auschecke: Sie ändern sich von "nur lesen" zu "lesen schreiben", auch wenn sich ihr Inhalt nicht geändert hat.

Also ich denke, wenn die Eigenschaften einer Datei betroffen sind, wird es als "geändert" angesehen, auch wenn der Inhalt der gleiche ist.

+0

Cool, danke. Ich denke, es ist Zeit, auf Vim73 zu aktualisieren ... –

Verwandte Themen