Warum speichert Vim Dateien mit einer ~ Erweiterung?

Ich habe festgestellt, dass Vim bei der Verwendung von Vim unter Windows die Datei speichert, eine .ext.swp Datei, die beim Schließen des Vim-Fensters und einer .ext~ Datei gelöscht wird.

Ich nehme an, die .ext.swp Datei ist eine Sitzungssicherung für den Fall, dass Vim abstürzt. Was ist der Zweck der .ext~ Datei jedoch? Ist das eine permanente Sicherungsdatei? Es ist ärgerlich, da ich ohne diese Duplikate alle Dateien kopieren möchte, an denen ich gerade arbeite. Wie kann ich das ausschalten oder , wenn es aus gutem Grund da ist , die Dateien ausblenden ?

Die *.ext~ Datei ist eine Sicherungsdatei, die die Datei so enthält, wie sie vor der Bearbeitung war.

Die *.ext.swp Datei ist die Auslagerungsdatei, die als Sperrdatei dient und die Rückgängig- / Wiederherstellungshistorie sowie alle anderen internen Informationen enthält, die Vim benötigt. Im Falle eines Absturzes können Sie Ihre Datei erneut öffnen und Vim wird seinen vorherigen Zustand aus der Auslagerungsdatei wiederherstellen (was ich hilfreich finde, so dass ich es nicht ausschalte).

Um die automatische Erstellung von Backup-Dateien abzuschalten, verwenden Sie (in Ihrem vimrc):

 set nobackup set nowritebackup 

Wo nowritebackup das standardmäßige “save” Verhalten von Vim ändert, das ist:

  1. Puffer in neue Datei schreiben
  2. lösche die Originaldatei
  3. Benenne die neue Datei um

und macht Vim den Puffer in die Originaldatei schreiben (mit der Folge, dass es im Falle eines E / A-Fehlers zerstört werden könnte). Aber du verhinderst das “Springen von Dateien” auf dem Windows-Desktop damit, was der Hauptgrund dafür ist, dass ich jetzt eine nowritebackup an Stelle habe.

Ich denke, die bessere Lösung ist, diese Zeilen in Ihrer vimrc-Datei zu platzieren

 set backupdir=~/vimtmp,. set directory=~/vimtmp,. 

Sie müssen ein Verzeichnis in Ihrem Home-Verzeichnis namens vimtmp erstellen, damit dies funktioniert.

Auf diese Weise erhalten Sie den Vorteil beider Welten, Sie müssen die Dateien nicht sehen, aber wenn etwas fuzzed wird, können Sie Ihre Backup-Datei von vimtmp erhalten. Vergessen Sie nicht, das Verzeichnis hin und wieder zu löschen.

Um diese Dateien zu deaktivieren, fügen Sie diese Zeilen einfach zu .vimrc (vim-Konfigurationsdatei unter UNIX-basiertem Betriebssystem) hinzu:

 set nobackup #no backup files set nowritebackup #only in case you don't want a backup file while editing set noswapfile #no swap files 
 :set nobackup 

deaktiviert die Sicherungen. Sie können auch einen Backup-Ordner festlegen, wenn Sie diese Backup-Dateien immer noch in einem zentralen Ordner speichern möchten. Auf diese Weise ist Ihr Arbeitsverzeichnis nicht mit ~ Dateien übersät.

Weitere Informationen zu Backups finden Sie unter : Das Backup .

Und Sie können auch eine andere Backup-Erweiterung festlegen und wo diese Sicherung ~/.vimbackups (ich bevorzuge ~/.vimbackups auf Linux). Früher verwendete ich “versionierte” Backups über:

 au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup' 

Dies legt eine dynamische Sicherungserweiterung fest ( ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup ).

Sie haben .swp dass die .swp Datei von vim zum Sperren und als Wiederherstellungsdatei verwendet wird.

Versuchen Sie, set nobackup in Ihrem vimrc zu setzen, wenn Sie diese Dateien nicht möchten. Sehen Sie die Vim Dokumente für verschiedene Backup-Optionen, wenn Sie den ganzen Scoop wollen, oder möchten .bak Dateien stattdessen haben …

Die einzige Option, die für mich funktionierte, war diese Zeile in meine ~ / .vimrc Datei zu schreiben

setze noctofile

Die anderen Optionen, die sich auf Sicherungsdateien beziehen, haben die Erstellung der temporären Dateien, die auf ~ (Tilde) enden, nicht verhindert

Setzen Sie diese Zeile in Ihren vimrc :

 set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile 

In Windows wäre dies die Datei C:\Program Files (x86)\vim\_vimrc für die systemweite vim-Konfiguration für alle Benutzer.

Das Festlegen der letzten noundofile ist in Windows wichtig, um die Erstellung von *~ tilda-Dateien nach der Bearbeitung zu verhindern.


Ich wünschte, Vim hätte diese Zeile standardmäßig enthalten. Niemand mag hässliche Verzeichnisse.

Lassen Sie den Benutzer auswählen, ob und wie er die erweiterten Sicherungs- / Rückgängig-functionen zuerst aktivieren möchte.

Dies ist der nervigste Teil von Vim.

Der nächste Schritt besteht darin, set noeb vb t_vb= , um das Piepen zu deaktivieren: P

Ich musste set noundofile zu ~ _gvimrc hinzufügen

Das Verzeichnis “~” kann durch Ändern des Verzeichnisses mit dem Befehl cd ~ identifiziert werden