Hot Exit ist eine der Killerfunktionen des Sublime Text Editors. Es ermöglicht das Schließen des Editors zu jedem Zeitpunkt, ohne sich um Änderungen in geöffneten Dateien kümmern zu müssen - es wird einfach ohne Frage geschlossen. Beim erneuten Starten von ST befinden sich alle geöffneten und bearbeiteten Dateien im selben Zustand wie vor dem Schließen
Ich frage mich, ob es einen Weg gibt, dasselbe in vim zu tun.
Antworten:
Vim kann dies tun, obwohl es etwas klobig sein kann und einige Einstellungen erfordert.
Romainl bringt dich auf halbem Weg mit
session
. Die fehlenden Bits sind Auslagerungsdateien:preserve
und das&
Flag fürcpoptions
.Auslagerungsdateien sind für die Wiederherstellung vorgesehen, wenn Vim oder Ihr System abstürzt. Mit ihnen können Sie nicht gespeicherte Änderungen wiederherstellen (mit einigen Einschränkungen, siehe
:he swap-file
). Wenn Vim jedoch normal beendet wird, werden alle verwendeten Auslagerungsdateien gelöscht, selbst wenn der Puffer nicht gespeicherte Änderungen hatte.Das ist , wo
:preserve
undcpoptions
‚s&
kommt in.:preserve
Kräften Vim alle Puffer , um ihre Swap - Dateien sofort zu schreiben (wie nach 4 Sekunden oder 200 Zeichen zum Standard im Gegensatz oder was auch immer Ihre Optionen eingestellt haben es). Wenn Sie dies tun,:set cpoptions+=&
wird Vim angewiesen, die beim normalen Beenden gespeicherten Auslagerungsdateien nicht zu löschen:preserve
.Leider bereinigt Vim Swap-Dateien bei der Wiederherstellung nicht automatisch, sodass Sie bald ein Verzeichnis haben können, das folgendermaßen aussieht:
Sie können die älteren manuell löschen, aber Vim bietet nur dann automatisch eine Wiederherstellung an, wenn es eine
*.swp
Datei gibt, in der die neue Auslagerungsdatei abgelegt wird. Der:recover
Befehl zwingt Vim, nach Auslagerungsdateien zu suchen, von denen wiederhergestellt werden kann.Mithilfe von Auto-Befehlen können Sie das Speichern (wahrscheinlich mit dem
QuitPre
Ereignis) und das Wiederherstellen (wahrscheinlich mitBufRead
oderBufReadPost
) automatisieren . Recover.vim ist ein Plugin, das möglicherweise als benutzerfreundlichere Alternative für die Verwaltung der Wiederherstellung fungiert. Es scheint auch die Bereinigung von Auslagerungsdateien zu handhaben. Ich bin nicht sicher, wie es mit einem Verzeichnis mit einer,.swo
aber ohne.swp
Datei umgehen würde . Möglicherweise müssen Sie:recover
für diesen Fall noch verwenden.vim-obsession ist ein weiteres Plugin, das behauptet, die Handhabung von Sitzungen erheblich zu vereinfachen.
quelle
Ja. Es heißt "Sitzung" und Sie können alles darüber lesen in:
quelle