Program Club

Vim에서 하나의 명령으로 많은 버퍼를 닫을 수 없습니다.

proclub 2020. 10. 30. 21:17
반응형

Vim에서 하나의 명령으로 많은 버퍼를 닫을 수 없습니다.


저는 Vim in Screen을 사용합니다. 나는 명령을 실행

vim <bigFolder>

각 버퍼를 닫는 것이 의미가 없기 때문에 막혔습니다.

:q

Vim 내에서 하나의 명령으로 Vim의 모든 활성 버퍼를 어떻게 닫을 수 있습니까?


:qall또는 :qa모든 창을 닫습니다


:bufdo명령을 사용하면 모든 버퍼에서 명령을 실행할 수 있습니다. 이 경우 :bufdo bdelete한 번에 열려있는 모든 버퍼를 닫 도록 실행하려고합니다 .


: % bd (요소)

나는 이것이 당신이 요구하는 것이라고 생각합니다


:on

현재 편집중인 버퍼를 제외한 모든 버퍼를 닫습니다 (커서가이 버퍼 안에 있음).

:on!

수정 된 버퍼도 닫히지 만 숨겨진 버퍼가됩니다.

:ls

상태 (숨김, ...)와 함께 모든 버퍼를 나열합니다.

도움:

:h only
:h hidden-buffer
:h ls

:on 버퍼를 닫지 않습니다.

다른 창만 닫습니다.


이것은 정확히 당신이 요청한 것은 아니지만 다음은 원하는 결과를 줄 수 있습니다. 그것:

  • 현재 탭을 유일한 열린 탭으로 만듭니다 ( :tabo).
  • 탭의 창을 유일한 열린 창으로 만듭니다 ( :only).
  • 열린 창 ( 1 b) 에 첫 번째 버퍼를 표시합니다.
  • 2에서 2000까지 번호가 지정된 버퍼를 삭제합니다 ( 2,2000bd).

    :tabo | :only | 1 b | 2,2000 bd

2000 개 이상의 버퍼가 열려 있으면 적절하게 조정하십시오.

단순히 모든 버퍼를 삭제하고 싶고 1,2000bd작업을 수행해야하지만 열려있는 모든 탭과 창에 대해 비어있는 새 버퍼가 생성됩니다.


그래도 버퍼를 저장하지 않습니다. 어쩌면 : wqall! : xall! 조금 더 좋습니다.


VIM이 완전히 멈춘 경우에도 VIM 외부에서 제거 할 수 있습니다.

  • CTRL + Z를 사용하여 VIM을 일시 중지 할 수있는 경우 kill %vim
  • VIM을 일시 중지 할 수없는 경우 ps. 당신은 그것을 죽일 수 있습니다 :
$ ps -f -C vim
UID        PID  PPID  C STIME TTY          TIME CMD
nfellman 27273  7473  0 Jun24 pts/15   00:00:00 /nfs/iil/home/nfellman/vim/bin/vim a.pl
nfellman 37213  23747 0 Jun23 pts/15   00:00:00 /nfs/iil/home/nfellman/vim/bin/vim b.pl

따라서 편집중인 VIM을 종료 a.pl하려면 다음을 수행 할 수 있습니다.

kill -9 27273

이것은 화면 내에서도 작동합니다.


:q!

항상 나를 위해 일합니다.

참고 URL : https://stackoverflow.com/questions/816175/unable-to-close-many-buffers-by-one-command-in-vim

반응형