我从另一个 Stack Overflow 答案(链接如下)中获取了这个片段,并将其添加到 BufWinEnter 事件中以解决这个问题。
" Close after opening a file (which gets opened in another window):
let g:netrw_fastbrowse = 0
autocmd FileType netrw setl bufhidden=wipe
function! CloseNetrw() abort
for bufn in range(1, bufnr('$'))
if bufexists(bufn) && getbufvar(bufn, '&filetype') ==# 'netrw'
silent! execute 'bwipeout ' . bufn
if getline(2) =~# '^" Netrw '
silent! bwipeout
endif
return
endif
endfor
endfunction
augroup closeOnOpen
autocmd!
autocmd BufWinEnter * if getbufvar(winbufnr(winnr()), "&filetype") != "netrw"|call CloseNetrw()|endif
aug END
原始答案在这里:
https ://vi.stackexchange.com/questions/14622/how-can-i-close-the-netrw-buffer
这个特别是https://vi.stackexchange.com/a/29004