Ich verwende MacVim (snapshot 51)
, um die Python / HTML / etc-Dateien in einem mittelgroßen Projekt zu bearbeiten. Alle paar Monate stürzt mein System ab oder stürzt ab, und Vim hinterlässt eine Vielzahl von. *. SWP-Dateien. Wenn ich Vim nach dem Absturz erneut öffne und eine dieser Dateien bearbeite, wird mir mitgeteilt, dass "Swap file '' .xyz.swp '' bereits vorhanden ist!" mit den Optionen [Abbrechen] [Beenden] [Löschen] [Wiederherstellen] [Trotzdem bearbeiten] und [Nur Lesen öffnen].
Diese Wiederherstellungsoption wäre sinnvoll, wenn Änderungen am Vim-Puffer vorgenommen würden, die zum Zeitpunkt des Absturzes nicht gespeichert wurden. Zum Zeitpunkt des Absturzes wurden diese Dateien jedoch im Hintergrund von Vim geöffnet und unverändert.
Wie kann ich Vim so konfigurieren, dass diese überflüssige Frage beim Öffnen von Dateien, für die es keine Änderungen zwischen der .swp
Datei und der tatsächlichen Datei gibt, nicht gestellt wird, z.
Automatisches Vergleichen der Änderungen in der SWP-Datei mit der Datei. Wenn keine Änderungen vorgenommen wurden, öffnen Sie die Datei einfach ohne Aufforderung.
Keine SWP-Datei für Dateien ohne Änderungen aufbewahren.
Alle anderen Mittel, um diese sinnlose Eingabeaufforderung systematisch zu vermeiden (aber ich würde es vorziehen, die Eingabeaufforderung nicht zu vermeiden, wenn natürlich nicht gespeicherte Änderungen vorgenommen wurden).
Ich habe .swp
im Moment über fünfzig Dateien zu bereinigen, und die sinnlose Aufforderung ist eine Frustration, die ich dankbar vermeiden würde.
Danke fürs Lesen.
Brian
:q
, aber die Auslagerungsdateien scheinen trotzdem für Puffer im Hintergrund herumzuhängen. Vielleicht ist das eher mein Problem. Ich sehe nichts darin~/.vimrc
, was PufferCtrl+Z
herumhalten würde ... (Übrigens, was macht es? Es scheint nichts in MacVim zu tun)Ctrl+Z
Beendet einen Prozess, der von einer Shell (Terminal) gestartet wurde. Da Sie MacVim verwenden, trifft dies nicht auf Ihre Situation zu, aber Sie können es irgendwann von Ihrem Terminal aus versuchen ...Ctrl-Z
töten nichts. Es setzt den Prozess aus. (Aber nicht in GUI Vims.) Auf diese Weise können Sie zur Shell zurückkehren, einige Dinge tun und Vim wieder hochfahren. Wenn Sie die Schale in der Zwischenzeit töten ( zum Beispiel durch das Terminal - Fenster zu schließen) Sie werden töten Vim.Antworten:
Ich habe es nicht getestet, aber was ist mit dieser Lösung, die im offiziellen Wiki von vim vorgestellt wird?
Swap-Datei "..." existiert bereits! - So diff es
Auch für dieses Problem gibt es in Stackoverflow ein Skript .
quelle
Dies ist zwar nicht genau das, was Sie möchten, kann jedoch das Problem mindern:
Erstellen Sie diese Verzeichnisse und schreiben Sie die Dateien ~ und .swp an einen zentralen Ort. Viel einfacher auf diese Weise aufzuräumen!
Schauen Sie sich auch recovery.vim an. Wenn eine SWP-Datei erkannt wird, werden Sie aufgefordert, einen Unterschied zwischen der On-Disk-Version und dem SWP auszuführen, damit Sie sehen können, was sich geändert hat. Viel hilfreicher auf diese Weise IMO.
quelle
Vim erstellt automatisch SWP-Dateien als Backup für genau diese Situation: Das System stürzt ab. Befolgen Sie diese Anweisungen , um die Erstellung von SWP-Dateien zu deaktivieren .
1. Ergebnis für Google :
vim disable .swp
.quelle
Das Lesen der Dokumentation für die Funktion "Auslagerungsdatei" in Vim durch Ausführen des Befehls Vim
:help swap
sollte Ihnen bei vielen Informationen darüber helfen, wie Vim die Erstellung von Auslagerungsdateien usw. handhabt.quelle
:help swap
sollte bei vielen Dingen helfen, tut es in diesem Fall nicht. Robbins et al. "Learning Vi & Vim Editors" auch nicht. Wenn beides der Fall wäre, hätte ich die Frage nicht posten müssen. ;)