예를 들어 다음과 같이 Vim에서 여러 파일을 엽니 다.
vim a/*.php
23 개의 파일이 열립니다.
그런 다음 편집하고 다음을 두 번 실행하십시오.
:q
모든 버퍼가 닫힙니다.
Vim에서 하나의 버퍼 만 어떻게 닫을 수 있습니까?
예를 들어 다음과 같이 Vim에서 여러 파일을 엽니 다.
vim a/*.php
23 개의 파일이 열립니다.
그런 다음 편집하고 다음을 두 번 실행하십시오.
:q
모든 버퍼가 닫힙니다.
Vim에서 하나의 버퍼 만 어떻게 닫을 수 있습니까?
답변:
주의 사항 : "bw의 w는 쓰기가 아니라 지우기를 의미합니다!"
매뉴얼에서 더 많은 것 :
: bd
버퍼 [N] (기본값 : 현재 버퍼)을 언로드하고 버퍼 목록에서 삭제하십시오. 버퍼가 변경된 경우 [!]를 지정하지 않으면 변경이 손실됩니다. 파일은 영향을받지 않습니다.
당신이하고있는 일을 알고 있다면 다음을 사용할 수도 있습니다 : bw
: bw
| : bdelete |와 같지만 실제로 버퍼를 삭제하십시오.
:bw"당신이 무엇을하고 있는지 아는"경우 에만 사용하라고 말합니다 :bd.
:bd) 탭이 닫힙니다. 당신이 아마 원하는 것은 :bd n .. [m]또는 :n,mbd특정 번호 또는 버퍼를 보지 않고 할 수있는 가까운 숫자의 범위
wwriteVim 매뉴얼에 따라 명령 이 짧으며 , "wipeout"에 대한 언급이 없습니다. 명령 ( help write)에 대한 설명은 "전체 버퍼를 현재 파일에 기록"으로 시작합니다.
w에 bw그가 얘기되지 떨어졌네 명령 수단 w명령. 그는 사람들이 bw명령이 버퍼 쓰기를 의미 한다고 생각하지 않도록이 경고를 거기에 뒀습니다 (버퍼 소거를 의미하지는 않습니다)
이전 답변으로 이것이 명확하지 않은 경우 :
: bd 는 현재 버퍼를 닫습니다. 버퍼 목록을 원하지 않으면
:bd버퍼를 닫는 반면 (그것이 무엇이든간에) :bw모든 변수를 지우고 ls버퍼 에서 버퍼를 제거합니다 .
: ls 명령의 출력을 찾아보고 번호를 지정하여 버퍼를 삭제 (언로드, 와이프 ..)하는 대신 파일 이름을 사용하는 것이 더 효과적이라는 것을 알았습니다.
예를 들어, 몇 가지 .txt 파일을 열어서 몇 가지 좋은 점에 대한 추억을 새로 고친 후 몇 줄의 텍스트를 복사하여 붙여 넣은 후 일종의 템플릿으로 사용할 수 있습니다. 등.
:bd txt <Tab>
일치하는 문자열이 파일 이름의 시작 부분에있을 필요는 없습니다.
위의 화면 하단에 'txt'와 일치하는 파일 이름 목록이 표시되고 처음에 입력 한 : bd 명령을 그대로 유지하여 완료 할 수 있습니다.
예를 들면 다음과 같습니다.
doc1.txt doc2.txt
:bd txt
'txt'비트 위로 백 스페이스를 지우고 삭제하려는 파일 이름을 입력 할 수는 있지만 실제로는 필요하지 않습니다 .Tab 키를 두 번 누르면 Vim이 자동으로 명령을 완료합니다. 첫 경기 :
:bd doc1.txt
이 특정 버퍼를 제거하려면 Enter 키를 누르십시오.
그리고 삭제하려는 버퍼가 두 번째 (세 번째 등) 일치하는 경우 Tab 키를 계속 누르고 있으면 : bd 명령이 일치하는 목록을 순환하도록합니다.
당연히,이 방법은 : b .. : sb. 등과 같은 명령을 통해 주어진 버퍼로 전환하는데 사용될 수 있습니다.
이 방법은 '숨겨진'Vim 옵션이 설정 될 때 특히 유용합니다. 버퍼 목록이 빠르게 커져서 여러 화면을 덮을 수 있고 내가 찾고있는 특정 버퍼를 찾기가 어렵 기 때문입니다.
이 기능을 최대한 활용하려면 다음 Vim 도움말 파일을 읽고 작업 흐름에 가장 적합하도록 Tab 명령 줄 완성 동작을 조정하는 것이 가장 좋습니다.
:help wildmode
위에서 설명한 동작은 다음 설정의 결과로, bash 완료를 에뮬레이트하기 위해 일관성을 위해 선택했습니다.
:set wildmode=list:longest,full
버퍼 번호를 사용하는 것과는 대조적으로,이 방법의 장점은 일반적으로 주어진 파일 이름의 적어도 일부를 기억한다는 것입니다.
[편집 : 이것은 내가 Vim을 충분히 알지 못하는 때부터 어리석은 제안이었습니다. 버퍼 대신 탭을 사용하지 마십시오. 탭은 Vim의 "창 레이아웃"입니다.]
탭 사용으로 전환 하시겠습니까?
vim -p a/*.php 탭에서 동일한 파일을 엽니 다
gt및 gT스위치 탭 앞뒤로
:q 현재 탭만 닫습니다
:qa 모든 것을 닫고 종료
:tabo 현재 탭을 제외한 모든 것을 닫습니다.
vim-nox우분투 패키지는 Ruby를 지원합니다.
Buffergator 또는 NERDTree와 같은 버퍼 또는 트리 탐색 플러그인을 사용하는 사용자는 현재 버퍼를 파괴하기 전에 이러한 분할을 토글해야합니다. 그렇지 않으면 분할을 wonkyville로 보냅니다.
나는 사용한다:
"" Buffer Navigation
" Toggle left sidebar: NERDTree and BufferGator
fu! UiToggle()
let b = bufnr("%")
execute "NERDTreeToggle | BuffergatorToggle"
execute ( bufwinnr(b) . "wincmd w" )
execute ":set number!"
endf
map <silent> <Leader>w <esc>:call UiToggle()<cr>
NERDTreeToggle이 목록에서 " "는 입력과 동일합니다 :NERDTreeToggle. 이 기능을 수정하여 자신의 구성과 통합 할 수 있습니다.
윈도우 레이아웃 (스플릿을 기반으로 한 현재 레이아웃)을 파괴하지 않고 버퍼를 닫으려면 bbye 와 같은 플러그인을 사용할 수 있습니다 . 이를 바탕으로 바로 사용할 수 있습니다
:Bdelete (instead of :bdelete)
:Bwipeout (instead of :bwipeout)
또는 다음 .vimrc과 같이 쉽게 액세스 할 수 있도록 매핑을 만듭니다.
:nnoremap <Leader>q :Bdelete<CR>
로부터 플러그인의 설명서 :
- 버퍼를 닫고 제거하십시오.
- 해당 창에 다른 파일을 표시하십시오.
- 다른 파일을 열지 않은 경우 빈 파일을 표시하십시오.
- 해당 창에서 다른 파일을 편집하기로 결정한 경우 쓸모없는 [파일 없음] 버퍼를 두지 마십시오.
- 파일이 여러 창에서 열려 있어도 작동합니다.
- 다양한 버퍼 탐색기 및 탭 막대로 작업하십시오.
로부터 플러그인의 설명서 :
Vim에는 버퍼를 닫기위한 두 가지 명령이 있습니다 :
:bdelete및:bwipeout. 전자는 버퍼 목록에서 파일을 제거하고 옵션, 변수 및 매핑을 지 웁니다. 그러나 점프리스트에 남아 있으므로Ctrl-o파일을 다시 열어서 다시 엽니 다. 그것이 당신이 원하는 것이 아니라면,:bwipeout또는 사용 했던 Bbye와 동등한:Bwipeout것을 사용하십시오:bdelete.
vim -o a/*.php(또는-O세로 창을 사용 하여) 별도의 Vim 창에서 파일을 열고 버퍼 탐색을 피할 수 있습니다.이 방법은 파일이 적을 때만 좋은 방법이지만 23 파일을 사용하면 몇 줄 / 열만 있습니다 마다.