"Swap-Datei xxx existiert bereits" beim Bearbeiten der Apache-Konfigurationsdatei in vim?

9

Mit vim erhalte ich immer wieder die Meldung "Swap file xxx existiert bereits", wenn ich eine Apache-Konfiguration bearbeite. Ich sehe es jedoch nicht im Arbeitsverzeichnis von in tmp. Wie lösche ich das?

dzm
quelle

Antworten:

16

Vim-Auslagerungsdateien sind normalerweise ausgeblendet (ausgeblendete Unix-Dateien beginnen mit a .). Um sowohl versteckte als auch reguläre Dateien anzuzeigen, müssen Sie ls -A(Mnemonik: A für alle). Das sollte Ihnen zeigen, ob eine Auslagerungsdatei vorhanden ist oder nicht.

Quantikel
quelle
5

Dies geschieht nur, wenn die Datei, die Sie bearbeiten wollten, nicht vollständig auf der Festplatte gespeichert ist. Szenarien sind:

  1. Sie fahren Ihr System nicht ordnungsgemäß herunter, wenn eine Datei in vi / vim noch geöffnet ist.

  2. wenn auf Ihre Datei gleichzeitig über verschiedene / gleiche Konsolen in vi zugegriffen wird.

vi / vim erstellt eine SWP-Datei, wenn eine Datei in vi / vim geöffnet wird. Jedes Mal, wenn eine Datei in vi / vim geöffnet wird, sucht vi / vim nach dieser Datei, und wenn sie gefunden wird, wird diese Warnung angezeigt

Dies kann auf zwei Arten vermieden werden

  1. eine durch Löschen der SWP-Datei mit dem Namen

"Pfad / der / Datei / Sie / waren / bearbeiten / .Ihr_Dateiname.swp"

  1. Sie können sich auch für den Wiederherstellungsmodus von vi / vim entscheiden, wenn Sie die Datei öffnen und die Wiederherstellungsoption drücken.

Ich spreche nur über das erste Szenario und es ist nur für dieses Szenario sicher. Das zweite Szenario ist der andere Fall.

Kaji
quelle
Wenn nicht gespeicherte Änderungen vorhanden waren, können Sie diese mithilfe von vi -r(oder vim -rwenn Sie dies bevorzugen) wiederherstellen . Normalerweise schreibe ich die wiederhergestellte Datei in eine temporäre Datei und diffgegen die Hauptdatei. (Ich vertraue nicht ganz darauf, dass die Wiederherstellung keine Informationen verliert.)
Keith Thompson
1

Wenn die Datei, die Sie bearbeiten, aufgerufen httpd.confwird, wird die Auslagerungsdatei aufgerufen .httpd.conf.swp. Es ist ausgeblendet, es sei denn, Sie fügen -aIhren lsArgumenten hinzu.

ls -a /etc/httpd/conf/
tylerl
quelle
1

Verwenden Sie diesen Befehl, um die Auslagerungsdatei unter Linux zu entfernen

rm .filename.swp
Amareswar Reddy
quelle
0

In der Nachricht sollte der vollständige Pfad zur Datei angezeigt werden. Sie können es ändern, indem Sie den Pfad wie folgt kopieren:

rm -f /path/to/the/file

quelle