예를 들어 다음과 같이 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
특정 번호 또는 버퍼를 보지 않고 할 수있는 가까운 숫자의 범위
w
write
Vim 매뉴얼에 따라 명령 이 짧으며 , "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 파일을 사용하면 몇 줄 / 열만 있습니다 마다.