Gdy próbuję otworzyć plik z wielu instancji vim, pojawia się błąd z kilkoma opcjami:
Swap file "~/.vim/tmp/file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
Jaka jest różnica między „Quit” a „Abort”?
Moim pierwszym przypuszczeniem było, że gdy próbuję otworzyć wiele plików i tylko jeden jest edytowany gdzie indziej, „zamknij” może pominąć ten jeden i „przerwać”, zamknąć program, ale to oczywiście jest nieprawidłowe - oba po prostu rezygnują z całej próby podczas edycji i wróć do terminala.
:help swap-exists-choices
odpowiada na twoje pytanie?Odpowiedzi:
Spróbuj tego: uruchom
vim file1
w terminalu, a następnie uruchomvim -p file1 file2
w innym terminalu. Drugie polecenie wyświetli monit jak wyżej. Jeśli odpowieszQuit
, nadal możesz edytowaćfile2
. Jeśli odpowieszAbort
, po prostu wyjdź z Vima, „przerywając dalsze polecenia”.źródło
-p
/-o
/-O
)? Tylko użycievim file1 file2
wyjść całkowicie przy wychodzeniu i przerywaniu, gdy plik1 jest edytowany; a gdy plik2 jest edytowany, monit nie pojawia się, dopóki nie naciśniesz następnego, w takim przypadku zarówno wyjdź, jak i przerwij, po prostu wróć do pliku1.vim file1 file2
robi dwie rzeczy: ustawia argumenty (rzecz, do której można uzyskać dostępargv()
) i ładuje pierwszy plik do bufora. Drugi plik jest ładowany tylko podczas uruchamiania:n
(lub podobnego). Kiedy Vim wyświetli monit, argumenty zostały już ustawione, więc jeśliQuit
w tym momencie nie ma już polecenia „dalsze” do uruchomienia. Także inne rzeczy liczą się również jako polecenia, fiautocmd
i polecenia ustawione za pomocąvim -c
. Powinieneś pomyśleć to wszystko w kategoriach poleceń, a nie w kategoriach plików, których dotyczy problem.@FDinoff zasugerował sprawdzenie pomocy vima . Jeśli ktoś chciałby je łatwiej zobaczyć:
O ile mogę stwierdzić, abort jest używany, gdy używasz vima do sprawdzania wielu plików, na przykład:
Jeśli pierwszy jest zablokowany i wywołujesz polecenie quit, przejdzie do pliku file2.txt, a przerwanie całkowicie wyłączy się z aplikacji.
źródło