Wie akshay wies darauf hin, Vim Dokumentation erklärt, dass :x
und ZZ
gleichwertig sind und nur Speichern einer Datei , wenn der zugehörige Puffer geändert wurde. Während :wq
speichert den Puffer in der entsprechenden Datei, auch wenn es unverändert ist.
In beiden Fällen wird der Inhalt des Puffers auf der Festplatte gespeichert. Offensichtlich ist das Ergebnis dasselbe. Warum also? Aber warte ... Es gibt einen subtilen, aber nicht irrelevanten Unterschied.
Wenn Sie Vim über beenden :x
und der Puffer nicht geändert wurde, wird die Änderungszeit dieser Datei nicht geändert. Wenn Sie jedoch über beenden :wq
, ändert sich die Änderungszeit, da die Datei technisch neu geschrieben (erneut gespeichert) wird.
Dies kann in bestimmten Situationen einige Auswirkungen haben. Beispielsweise könnte ein Sicherungsvorgang, der von der Änderungszeit abhängig ist, diese Datei speichern (und möglicherweise über das Netzwerk senden), auch wenn keine zusätzlichen Informationen enthalten sind. Oder ein Überwachungsvorgang kann einen Alarm auslösen, wenn festgestellt wird, dass die Datei (dafür) geändert wurde ...
Bearbeiten: Ich habe vergessen zu erwähnen, dass ein :q
(ohne das w
) auch funktionieren wird, um einen geänderten Puffer / eine geänderte Datei zu verlassen, ohne die Änderungszeit zu ändern .