Quando tento abrir um arquivo de várias instâncias do vim, recebo um erro com várias opções:
Swap file "~/.vim/tmp/file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
Qual é a diferença entre "Quit" e "Abort"?
Meu primeiro palpite foi que, quando estou tentando abrir vários arquivos e apenas um está sendo editado em outro lugar, "sair" pode pular esse e "abortar" sair do programa, mas isso é evidentemente incorreto - ambos abandonam toda a tentativa na edição e volte ao terminal.
:help swap-exists-choices
responder a sua pergunta?Respostas:
Tente o seguinte: execute
vim file1
em um terminal e, em seguida,vim -p file1 file2
em outro terminal. O segundo comando solicitará como acima. Se você responderQuit
, ainda poderá editarfile2
. Se você responder,Abort
basta sair do Vim, "abortando outros comandos".fonte
-p
/-o
/-O
)? Apenas usarvim file1 file2
saídas inteiramente em quit e abort quando o arquivo1 está sendo editado; e quando o arquivo2 está sendo editado, o prompt não aparece até a próxima etapa e, nesse caso, encerra e anula apenas retorna ao arquivo1.vim file1 file2
faz duas coisas: define os argumentos (o que você pode acessarargv()
) e carrega o primeiro arquivo no buffer. O segundo arquivo é realmente carregado apenas quando você executa:n
(ou similar). Quando o Vim solicitar, os argumentos já foram definidos, portanto, se vocêQuit
nesse momento não houver nenhum comando "adicional" para executar. Além disso, outras coisas também contam como comandos, fisautocmd
e comandos definidos comvim -c
. Você deve pensar em tudo isso em termos de comandos, não em arquivos afetados.@FDinoff sugeriu verificar a ajuda do vim . Caso alguém queira ver isso mais facilmente:
Tanto quanto posso dizer, abortar é para quando você usa o vim para verificar vários arquivos, assim:
Se o primeiro estiver bloqueado e você chamar quit, ele continuará em file2.txt, enquanto o cancelamento será interrompido completamente do aplicativo.
fonte