Wo speichert VIM (gvim / macvim) Auslagerungsdateien für nicht gespeicherte / unbenannte Puffer? (Wenn es das überhaupt tut).
Hintergrund: Während eines halbintensiven Seminars machte ich mir Notizen in einem nicht benannten / nicht gespeicherten MacVim-Puffer, als das MacBook keinen Saft mehr hatte und aus dem Nichts abgeschaltet wurde (es schlief nicht wie gewöhnlich / hielt den Winterschlaf).
Frage: Würde jemand wissen, ob die Möglichkeit besteht, dass die nicht gespeicherte Arbeit in einer Auslagerungsdatei (.swp) oder dergleichen gespeichert wurde, die wiederhergestellt werden könnte?
Systemdetails : Dies geschah insbesondere mit MacVim unter Mac OS X 10.5.8 (mögliche Wiederherstellungshinweise für andere Versionen sind jedoch ebenfalls von Interesse). Ich habe MacVim noch nicht neu gestartet, falls dies einen Bereinigungsprozess auslöst.
Antworten:
Starte vim und versuche:
:recover <filename>
Wenn die Datei nie einen Namen hatte, dann einfach:
:recover
Das ist deine beste Wette. Weitere Informationen zum Austauschen von Dateien und zur Wiederherstellung finden Sie unter:
:help usr_11
Bei den Auslagerungsdateien werden sie normalerweise im selben Verzeichnis wie die zu bearbeitende Datei gespeichert, jedoch mit einem. fügte den Anfang hinzu, um es zu verbergen, und .swp am Ende, aber es ist möglich, sie an eine andere Stelle zu verschieben:
:set directory=~/vimswap
oder ähnliches.
Sehen:
:help swap
Für alle Details.
Eine vim-Auslagerungsdatei ist jedoch nicht mit dem bearbeiteten Puffer identisch. Lesen Sie daher dort nach, was zur Wiederherstellung getan werden kann.
BEARBEITEN : Kommentare zur Beantwortung der Frage:
[…] Es scheint in Ihrem aktuellen Arbeitsverzeichnis, ~ / tmp, / var / tmp und / tmp, nach Auslagerungsdateien zu suchen, und in meinem Fall habe ich immer ein aktuelles Arbeitsverzeichnis und dort wurde es gespeichert. - Dsclementsen 5. Oktober 10 um 1:42 Uhr
Überprüfen Sie auch unbedingt das Befehlszeilenargument vim -r. Dadurch werden alle gefundenen Auslagerungsdateien und ihre Position ausgedruckt. Darüber hinaus enthält es viele zusätzliche Informationen wie Datum / geändert / Benutzername / etc ... - Neg_EV 5. Oktober 10 um 13:49 Uhr
quelle
:recover
ohne Dateinamen. Ich habe das gerade getestet, um eine unbenannte Datei wiederherzustellen, und es hat funktioniert. Auf jeden Fall kann das Lesen dieser Hilfedateien hilfreich sein, auch wenn dieser bestimmte Befehl nicht hilft.recover
ohne Argument lief, ließ es mich sogar von einigen älteren Lernabschnitten wählen. Wie auch immer, die .swp-Datei für einen nicht beschädigten Puffer befindet sich wahrscheinlich in / tmp, aber sie würde woanders abhängen, je nachdem, ob Sie eine habenset directory= <something>
.:recover!
, um meine nicht gespeicherte Datei wiederherzustellen.Ich arbeite unter Windows 10 und
:recover
habe keine Auslagerungsdatei gefunden.vim -r
listet die Auslagerungsdatei der letzten (ebenfalls nie gespeicherten) Editiersitzung mit dem Namen _.swp auf. Erholung war möglich mit:recover _
.quelle
Die Antwort lautet: Überall. Der Trick ist, den richtigen zu finden. Einige befinden sich in Ihrem / tmp-Verzeichnis, viele befinden sich jedoch irgendwo in Ihrem Home-Verzeichnis.
Es gibt vielleicht effizientere Möglichkeiten, dies zu tun, aber das Folgende funktionierte für mich, als ich eine unbenannte Datei verlor (auf dem MacBook):
Suchen Sie im Ausgangsverzeichnis nach Sicherungsdateien (dauert einige Sekunden und kann möglicherweise intelligenter gestaltet werden):
Datei öffnen:
Entfernen Sie Dateinamen, die nicht für die Sicherung nicht benannter Dateien bestimmt sind:
Jetzt sehe ich eine Liste der Speicherorte unbenannter Sicherungsdateien. In jedem dieser Verzeichnisse führe ich Folgendes aus, bis ich die Datei (en) von heute finde:
Ich gehe in das richtige Verzeichnis und öffne vim und tippe: recover und wähle das richtige Backup.
quelle
Es sieht so aus, als würden sie in Ihrem Arbeitsverzeichnis landen.
:pwd
Dies ist der Ort, an dem Sie vim geöffnet haben, oder Sie haben es möglicherweise mit:cd
o.ä. festgelegt.Auslagerungsdateien für unbenannte Puffer werden anscheinend einfach ohne Dateinamen abgelegt, sodass Sie am Ende die Erweiterung .swp .swn .swo usw. haben verschiedene Suffixe!
Ich vermutete, dass viele unbenannte Puffer mit Änderungen die Ursache waren und das Löschen dieser Puffer dazu führte, dass die Mystery-Dateien verschwanden
quelle