[vim] Vim : 분할 창을 잃지 않고 버퍼 삭제

버퍼가 삭제되면 ( “bd [elete]”명령) 버퍼를 삭제할뿐만 아니라 버퍼가 있던 분할 창도 제거합니다.

버퍼를 삭제 / 언로드하고 창 분할을 유지하는 방법이 있습니까?



답변

정말 같은 bufkill.vimgithub의의의 repo 뿐만 아니라


답변

bp|bd # 할 것입니다.


세부 정보 : bp( “buffer previous”)는 현재 창에서 다른 버퍼로 이동하고 ( bn작동 할 수도 있음) bd #( “buffer delete” “alternate file”) 방금 이동 한 버퍼를 삭제합니다. 참조 : help bp, help bd, help alternate-file.


답변

창 분할을 건드리지 않고 다음과 같이 작업 .vimrc을 수행 할 수 있습니다 .Bdbd

command Bd bp\|bd \#

나는 이것이 Mud가 대답 한 것에 대한 유용한 보완 물이라는 것을 알았습니다 .


답변

VIM 팁 위키 에서 창닫지 않고 버퍼 삭제를 참조하십시오 .


답변

@Mud와 비슷한 작업을 수행하지만 #버퍼 목록의 이전 버퍼 대신 이전보기 버퍼로 전환 합니다. 내 바인딩 키는 다음과 같습니다 .vimrc.

nnoremap <silent> <leader>q :lclose<bar>b#<bar>bd #<CR>

위치 창 닫기 (있는 경우) 이전보기 버퍼로 전환 한 다음 마지막 전환 된 버퍼를 닫습니다.


답변

나의 선택은

:sb # | bd #
:sb 1 | bd #
: <1. Recall Buffer> | <2. Delete Buffer>

그렇게 생각해! /// <1. 리콜 버퍼> | <2. 버퍼 삭제>

:vert sb 2 | bd #
:vert sb <tab key~completed file(buffer)name> | bd #

왜?! 3 (+ 1) 개의 키워드를 기억하기 쉽습니다!

  1. sb split_buffer
  2. bd 삭제 버퍼 ▶ 간단한 2 키워드
  3. # 또는 버퍼 수
  4. vert ▶ short_form of vertical (split_buffer 또는 기타)

그것은 많은 다른 많은 경우에 쉽고 매우 유용합니다!

좋은 하루 되세요! 🙂


답변

나는 사용했다 :

:bp<bar>sp<bar>bn<bar>bd<CR>

그러나 창문이 닫히는 특정한 경우를 발견했습니다. 또한 다음 또는 이전 버퍼가 분할에 표시되지 않을 수도 있습니다.

이제 나는 이것을한다 :

  • 작업하려는 버퍼로 전환
  • 대체 버퍼 삭제

nnoremap <leader>d :bd#<CR>