“quit”과“abort”의 차이점은 무엇입니까?


23

여러 vim 인스턴스에서 파일을 열려고하면 몇 가지 옵션에 오류가 발생합니다.

Swap file "~/.vim/tmp/file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

"종료"와 "중지"의 차이점은 무엇입니까?

내 첫 번째 추측은, 여러 파일을 열려고하는데 하나만 다른 곳에서 편집되고있을 때, "quit"은 그 파일을 건너 뛰고 "중단"하여 프로그램을 종료 할 수 있지만, 그것은 완전히 잘못된 것입니다. 편집 할 때 터미널로 돌아갑니다.


2
:help swap-exists-choices당신의 질문에 대답 합니까 ?
FDinoff

@ FDinoff가 도움이되지만 여전히 "Abort"에 대해서는 명확하지 않습니다. "추가 명령도 중단합니다. 이는 여러 파일을 편집하는 스크립트를로드 할 때 유용합니다"- "추가 명령"은 vim 스크립트에서 가져온 것입니까? vim 스크립트가 새로운 버퍼를 여는 것이 일반적일까요?
케빈

답변:


20

이것을 시도하십시오 : vim file1터미널에서 실행 한 다음 vim -p file1 file2다른 터미널에서 실행하십시오 . 두 번째 명령은 위와 같이 프롬프트됩니다. 대답 Quit해도 여전히 편집 할 수 file2있습니다. 대답 Abort하면 Vim을 종료하고 "추가 명령을 중단"하십시오.


그래서에만 차이가있을 때 탭 또는 분할 창에서 열기 ( -p/ -o/ -O)? vim file1 file2file1을 편집 할 때 종료와 중단 둘 다에서 완전히 종료를 사용하십시오 . 그리고 file2가 편집 될 때, 프롬프트는 다음에 닿을 때까지 나타나지 않으며,이 경우 quit과 abort는 모두 file1로 되돌아갑니다.
케빈

1
당신은 이해하지 못합니다. 파일 열기는 기본적으로 일련의 명령입니다. vim file1 file2두 가지 작업을 수행합니다. 인수 (로 액세스 할 수있는 항목 argv())를 설정하고 첫 번째 파일을 버퍼에 로드합니다 . 두 번째 파일은 실제로 실행할 때만로드됩니다 :n. Vim이 당신에게 인수가 이미 설정되어있는 것을 요구할 때, Quit그 시점에서 당신 이 실행할 "추가"명령이 남아 있지 않습니다. 또한 다른 것들도 명령으로 계산됩니다. fis autocmd및로 설정된 명령 vim -c. 영향을받는 파일의 관점이 아니라 명령의 관점에서이 모든 것을 생각해야합니다.
lcd047

4

@FDinoff 는 vim 도움말을 확인 하도록 제안했습니다 . 누구든지 이것을 더 쉽게보고 싶을 경우 :

WHAT TO DO?                                     *swap-exists-choices*

If dialogs are supported you will be asked to select one of five choices:

  Swap file ".main.c.swp" already exists! ~
  [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete it: ~

O  Open the file readonly.  Use this when you just want to view the file and
   don't need to recover it.  You might want to use this when you know someone
   else is editing the file, but you just want to look in it and not make
   changes.

E  Edit the file anyway.  Use this with caution!  If the file is being edited
   in another Vim, you might end up with two versions of the file.  Vim will
   try to warn you when this happens, but better be safe then sorry.

R  Recover the file from the swap file.  Use this if you know that the swap
   file contains changes that you want to recover.

Q  Quit.  This avoids starting to edit the file.  Use this if there is another
   Vim editing the same file.
      When you just started Vim, this will exit Vim.  When starting Vim with
   files in several windows, Vim quits only if there is a swap file for the
   first one.  When using an edit command, the file will not be loaded and you
   are taken back to the previously edited file.

A  Abort.  Like Quit, but also abort further commands.  This is useful when
   loading a script that edits several files, such as a session with multiple
   windows.

D  Delete the swap file.  Use this when you are sure you no longer need it.
   For example, when it doesn't contain changes, or when the file itself is
   newer than the swap file.
      On Unix this choice is only offered when the process that created the
   swap file does not appear to be running.

내가 중단 할 수있는 한 vim을 사용하여 여러 파일을 검사 할 때입니다.

vim file1.txt file2.txt

첫 번째 파일이 잠겨 있고 quit을 호출하면 file2.txt로 이동하지만 중단은 응용 프로그램에서 완전히 중단됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.