Поместите следующее в ваш .vimrc или в какой-то другой пользовательский файл в папке плагина vim.
function! s:close_buffers(name_regexp)
for buffer_number in range(1, bufnr('$'))
if !buflisted(buffer_number)
continue
endif
let name = fnamemodify(bufname( buffer_number ), ':p')
if name =~ a:name_regexp
exec 'bdelete '.buffer_number
endif
endfor
endfunction
command! -nargs=1 CloseBuffers call s:close_buffers(<f-args>)
Используйте такие команды, как
:CloseBuffers include
:CloseBuffers in.*e
чтобы закрыть буферы, имена которых соответствуют переданным регулярным выражениям.
Это означает, что для закрытия всех файлов из определенной папки вы можете использовать
:CloseBuffers workspace/cpp
:CloseBuffers /home/my/project
Чтобы закрыть все файлы из текущего каталога и всех его подкаталогов
:exec "CloseBuffers ".getcwd()