Wenn ich versuche, eine Datei aus mehreren vim-Instanzen zu öffnen, erhalte ich eine Fehlermeldung mit mehreren Optionen:
Swap file "~/.vim/tmp/file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
Was ist der Unterschied zwischen "Beenden" und "Abbrechen"?
Meine erste Vermutung war, wenn ich versuche, mehrere Dateien zu öffnen und nur eine an einer anderen Stelle bearbeitet wird, wird diese möglicherweise übersprungen und das Programm abgebrochen, aber das ist offensichtlich falsch - beide unterbrechen einfach den gesamten Versuch beim Bearbeiten und fallen zurück zum Terminal.
:help swap-exists-choices
Antwort auf Ihre Frage?Antworten:
Versuchen Sie Folgendes: Führen Sie
vim file1
in einem Terminal und dannvim -p file1 file2
in einem anderen Terminal aus. Der zweite Befehl fordert Sie wie oben auf. Wenn Sie antwortenQuit
, können Sie immer noch bearbeitenfile2
. Wenn Sie antwortenAbort
, beenden Sie einfach Vim und "brechen alle weiteren Befehle ab".quelle
-p
/-o
/-O
)? Verwenden Sievim file1 file2
beim Beenden und Abbrechen nur die Exits, wenn Datei1 bearbeitet wird. Wenn Datei2 bearbeitet wird, wird die Eingabeaufforderung erst angezeigt, wenn Sie das nächste Mal darauf klicken. In diesem Fall müssen Sie sowohl beenden als auch abbrechen und einfach zu Datei1 zurückkehren.vim file1 file2
macht zwei Dinge: Es setzt die Argumente (das Ding, auf das Sie zugreifen könnenargv()
) und lädt die erste Datei in den Puffer. Die zweite Datei wird tatsächlich nur geladen, wenn Sie sie ausführen:n
(oder ähnlich). Wenn Vim Sie dazu auffordert, sind die Argumente bereits festgelegt. Wenn SieQuit
zu diesem Zeitpunkt also keinen "weiteren" Befehl mehr ausführen müssen. Auch andere Dinge zählen als Befehle, Dateienautocmd
und Befehle, die mit gesetzt wurdenvim -c
. Sie sollten das alles in Befehlen und nicht in betroffenen Dateien sehen.@FDinoff schlug vor, die vim-Hilfe zu überprüfen . Für den Fall, dass jemand diese leichter sehen wollte:
Soweit ich das beurteilen kann, ist abort für das Durchsuchen mehrerer Dateien mit vim wie folgt:
Wenn die erste gesperrt ist und Sie quit aufrufen, wird die Datei file2.txt aufgerufen, während der Abbruch die Anwendung vollständig beendet.
quelle