:e
및 :w
명령을 사용하여 파일을 편집하고 씁니다. Vim을 떠나지 않고 현재 파일을 닫는 "close"명령이 있는지 확실하지 않습니까?
나는 알고 :q
명령이 파일을 닫으하는 데 사용할 수 있지만 마지막 파일 인 경우, 빔이 아니라 폐쇄; 실제로 Mac OS에서는 MacVim이 종료됩니다. Vim 창이 닫히고 사용할 수 있습니다 Control- N빈 Vim 창을 다시 열 수 있습니다 . 빈 화면으로 Vim을 열어두고 싶습니다.
:e
및 :w
명령을 사용하여 파일을 편집하고 씁니다. Vim을 떠나지 않고 현재 파일을 닫는 "close"명령이 있는지 확실하지 않습니까?
나는 알고 :q
명령이 파일을 닫으하는 데 사용할 수 있지만 마지막 파일 인 경우, 빔이 아니라 폐쇄; 실제로 Mac OS에서는 MacVim이 종료됩니다. Vim 창이 닫히고 사용할 수 있습니다 Control- N빈 Vim 창을 다시 열 수 있습니다 . 빈 화면으로 Vim을 열어두고 싶습니다.
답변:
버퍼를 삭제합니다 (파일을 닫는 것으로 해석 됨).
:bd
이미 언급했듯이을 찾고 :bd
있지만 버퍼를 완전히 제거하지는 않지만 여전히 액세스 할 수 있습니다.
:e foo
:e bar
:buffers
1 #h "foo" line 1
2 %a "bar" line 1
Press ENTER or type command to continue
:bd 2
:buffers
1 %a "foo" line 1
Press ENTER or type command to continue
:b 2
2 bar
대신 :bw
완전히 제거 할 수 있습니다.
:bw 2
:b 2
E86: Buffer 2 does not exist
:bw
나를 알지 못하고 꽤 오랫동안 나를 버그.
:bw
"내가하는 일을 모른다면 이것을 사용하지 마십시오"라는 점을 명심하십시오 .
Vim 창에 여러 개의 분할 창이있는 :bd
경우 현재 파일의 분할 창을 닫으므로 조금 더 고급스러운 것을 사용하고 싶습니다.
map fc <Esc>:call CleanClose(1)
map fq <Esc>:call CleanClose(0)
function! CleanClose(tosave)
if (a:tosave == 1)
w!
endif
let todelbufNr = bufnr("%")
let newbufNr = bufnr("#")
if ((newbufNr != -1) && (newbufNr != todelbufNr) && buflisted(newbufNr))
exe "b".newbufNr
else
bnext
endif
if (bufnr("%") == todelbufNr)
new
endif
exe "bd".todelbufNr
endfunction
: [N] bd [elete] [!] * : bd * * : bdel * * : bdelete * * E516 * : bd [elete] [!] [N] 버퍼 [N]을 언로드하고 (기본값 : 현재 버퍼) 버퍼리스트 버퍼가 변경되면 실패합니다. [!]를 지정하지 않으면 변경 내용이 손실됩니다. 파일은 영향을받지 않습니다. 이 버퍼의 모든 창은 닫은. 버퍼 [N]이 현재 버퍼 인 경우 다른 버퍼 대신에 표시됩니다. 이것은 가장 최근 항목입니다 로드 된 버퍼를 가리키는 점프 목록 실제로 버퍼는 완전히 삭제되지 않고 제거됩니다. 버퍼 목록에서 | | unlisted-buffer | 옵션 값 버퍼에 대한 변수 및 매핑 / 약어는 클리어했다.
bufkill.vim의 플러그인을 추가합니다 BD
(임의의 분할을 닫지 않고 버퍼를 삭제하는 등 bd
것이라고 만).
버퍼를 닫을 때 창 레이아웃을 유지 하려면 Butane 플러그인 을 확인하십시오.
나는 같은 문제가있어서 플러그인을 만들었습니다. 이 플러그인은 : q 및 기타 명령을 대체 한 다음 창이 닫히지 않도록합니다.
여전히 문제가 발생하면 다음 플러그인을 사용해보십시오. https://github.com/taka-vagyok/prevent-win-closed.vim