Когда я пытаюсь открыть файл из нескольких экземпляров vim, я получаю сообщение об ошибке с несколькими вариантами:
Swap file "~/.vim/tmp/file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
В чем разница между «Quit» и «Abort»?
Мое первое предположение было таким: когда я пытаюсь открыть несколько файлов, и в другом месте редактируется только один файл, «выйти» может пропустить этот файл и «прервать» выход из программы, но это, очевидно, неправильно - оба просто отказываются от всей попытки при редактировании и обратно в терминал.
:help swap-exists-choices
ответ на ваш вопрос?Ответы:
Попробуйте это: запустить
vim file1
в терминале, затем запуститьvim -p file1 file2
в другом терминале. Вторая команда предложит вам, как указано выше. Если вы ответитеQuit
, вы все равно можете редактироватьfile2
. Если вы отвечаете,Abort
вы просто выходите из Vim, тем самым «прерывая дальнейшие команды».источник
-p
/-o
/-O
)? Просто используйтеvim file1 file2
выходы как при выходе, так и при прерывании, когда файл1 редактируется; и когда файл2 редактируется, приглашение не появляется до следующего нажатия, и в этом случае и выход, и прерывание просто возвращаются в файл1.vim file1 file2
выполняет две функции: устанавливает аргументы (с помощью которых вы можете получить доступargv()
) и загружает первый файл в буфер. Второй файл фактически загружается только при запуске:n
(или подобном). Когда Vim запросит у вас аргументы, они уже заданы, поэтому, если у васQuit
в этот момент не осталось «дальнейших» команд для выполнения. Кроме того, другие вещи также считаются командами, fiautocmd
s и команды, установленные сvim -c
. Вы должны думать обо всем этом с точки зрения команд, а не с точки зрения затронутых файлов.@FDinoff предложил проверить справку vim . На случай, если кто-то захочет увидеть это проще:
Насколько я могу судить, abort используется, когда вы используете vim для проверки нескольких файлов, например:
Если первый заблокирован и вы вызываете quit, он переходит к file2.txt, тогда как abort полностью вылетает из приложения.
источник