Keine Panik!
Wiederherstellen von Dateien ist immer sicher, da vim nie irgendwelche Änderungen schreibt , bis Sie sie selbst schreiben. Das Wiederherstellen von einer Auslagerungsdatei und das anschließende Schließen ohne Speichern ändern also nichts.
Organisieren Sie Ihre Swap-Dateien:
Bitten Sie vim, alle Ihre Auslagerungsdateien am selben Ort abzulegen, damit Sie immer wissen, wo sie sich befinden:
set directory^=$HOME/.vim/swap//
oder wo immer Sie möchten. Die Verwendung //
am Ende des Dateinamens bewirkt, dass vim absolute Dateipfade für die Auslagerungsdateinamen verwendet, sodass keine Namenskollisionen auftreten. Stellen Sie sicher, dass das Verzeichnis vorhanden ist, oder vim verwendet es nicht (es wird es nicht für Sie erstellt).
Hinweis: Dies funktioniert nur bei Umgebungsvariablen. Wenn Sie eine Vimscript-Variable verwenden möchten, müssen Sie etwas :execute
Magie verwenden:
execute "set directory^=".my_vim_home_var."/swap//"
Diff die Unterschiede:
Vim Hilfe schlägt vor , einen sehr nützlichen Befehl in dieser Situation zu verwenden: :DiffOrig
. Es ist kein vim-Standardbefehl , kopieren Sie also die Implementierung von :h :DiffOrig
in Ihren vimrc. (Es ist auch in, $VIMRUNTIME/defaults.vim
wenn Sie vim8 haben). Jetzt können Sie die Datei wiederherstellen und einfach DiffOrig ausführen, um einen Überblick über die Änderungen gegenüber der unveränderten Version zu erhalten.
Wenn Sie den Inhalt mehrerer Auslagerungsdateien vergleichen möchten, stellen Sie Ihre Datei mit jeder anderen Auslagerungsdatei wieder her und schreiben Sie das Ergebnis in temporäre Dateien. Laden Sie nun die Dateien und führen Sie sie :diffthis
für jede Datei aus, nehmen Sie die gewünschten Änderungen vor, schreiben Sie in die ursprüngliche Datei zurück und löschen Sie die temporären und Auslagerungsdateien.
Nützliche Befehle:
:swapname
: Ermittelt den Namen, den vim für die Auslagerungsdatei für den aktuellen Puffer verwendet ( :h :swapname
)
:recover
: Stellt die ausgewählte Datei wieder her, genau wie beim Starten von vim und Drücken von R( :h :recover
).
Schauen Sie sich die Hilfe an:
Vim hat einen ganzen Abschnitt des Benutzerhandbuchs auf Erholung: :usr_11.txt
Referenz Hilfe des Vim auf Auslagerungsdateien: :h swap-file
, h recovery
Hilfe im Verzeichnis Option (für die Auslagerungsdatei einstellen)::h 'directory'
Bearbeiten: Geändertes Beispiel für das Einstellen des Verzeichnisses, wie in den Kommentaren von @B Layer ausgeführt