Warum hinterlässt vim überall temporäre Dateiversionen?

9

Zunächst gehe ich davon aus, dass Dateien, die mit "~" enden und von vim beim Bearbeiten einer Datei erstellt werden, tatsächlich dem Zweck temporärer Sicherungen während der Bearbeitung dienen.

Aber jedes Mal, wenn ich eine Datei mit vim öffne und schließe (: wq), finde ich danach eine solche Datei ~. Warum räumt vim nicht auf? Ich gehe davon aus, dass etwas nicht richtig konfiguriert ist.

Raffael
quelle
2
Sie sind keine temporären Sicherungsdateien. Dies sind die vorherigen Versionen der Dateien. In einem Verzeichnis unter Versionskontrolle neigen sie dazu, ein Ärgernis zu werden.
Thorbjørn Ravn Andersen

Antworten:

19

Sie können Sicherungsdateien deaktivieren, indem Sie diese Zeile in Ihre vimrc-Datei einfügen:

Nobackup setzen

Wenn Sie Ihre Dateien dennoch sichern möchten, zentralisieren Sie sie in einem Verzeichnis mit:

setze backupdir = ~ / tmp

zum Beispiel.

periket2000
quelle
1
danke - aber ist das wirklich das beabsichtigte Verhalten? Ich meine, auch wenn ich nichts an der Datei ändere, werden diese Dateien erstellt und bleiben nach dem Schließen von vim erhalten. Ich gehe (intuitiv) davon aus, dass vim in der Lage sein muss, diese Dateien beim Schließen loszuwerden!? Ich möchte es nicht deaktivieren, da es nützlich sein könnte, wenn vim abstürzt. Die Backupdir-Lösung scheint jedoch ein guter Kompromiss zu sein
Raffael
Ja; Sie sind Sicherungsdateien; Standardmäßig werden diese Sicherungsdateien erstellt.
Ramhound
@ Яaffael, die backupOption ist standardmäßig deaktiviert. Sie sollten das Dokument lesen, bevor Sie eine Option aktivieren.
Romainl
2
@ Яaffael Die .swpDateien werden verwendet, wenn vim abstürzt, nicht die Backups
Izkata
1
Die Sicherungsdateien werden beim Schreiben der Datei erstellt. Wenn Sie nichts geändert haben, warum haben Sie es geschrieben? Wenn Sie dies nur gewohnheitsmäßig tun, können :wSie möglicherweise :upstattdessen etwas tun, das nur dann gespeichert wird, wenn Änderungen vorgenommen werden.
Ben
5

Zunächst gehe ich davon aus, dass diese Dateien […] tatsächlich dem Zweck temporärer Sicherungen während der Bearbeitung dienen.

Nein. Es handelt sich um nicht temporäre Backups, die beim Speichern erstellt wurden .

Die während der Bearbeitung erstellten temporären Dateien haben (auf UNIX-ähnlichen Plattformen) den Namen .wibble.swp(für eine Datei mit dem Namen wibble).

: Hilfesicherung
an vimsich gibt Ihnen das Gen auf dem ersteren, einschließlich der Regeln, wann Sicherungsdateien erstellt werden und wann nicht.
: helfen tauschen
gibt dir das Gen auf letzterem.

JdeBP
quelle
1) Was bedeutet "gen"? 2) Welchen Zweck erfüllen diese nicht temporären Backups?
Raffael
2
Mit diesem Link zwingen Sie die Leser, Definitionen durchzusehen, bis eine sinnvoll ist. Warum nicht einfach sagen, es ist eine informelle Welt für "Informationen"?
Andrew Cheong