diff options
Diffstat (limited to 'bundle/buffer-delete')
-rw-r--r-- | bundle/buffer-delete/autoload/buffer_delete.vim | 11 | ||||
-rw-r--r-- | bundle/buffer-delete/plugin/buffer_delete.vim | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/bundle/buffer-delete/autoload/buffer_delete.vim b/bundle/buffer-delete/autoload/buffer_delete.vim new file mode 100644 index 0000000..316cfe8 --- /dev/null +++ b/bundle/buffer-delete/autoload/buffer_delete.vim @@ -0,0 +1,11 @@ +" Delete all unloaded buffers. These are buffers that aren't active or hidden. +" Usually they come from a reinitialised session. +function! buffer_delete#Unloaded() + let all = range(1, bufnr('$')) + let unloaded = filter(all, {_i, v -> !bufloaded(v)}) + + for i in unloaded + " Use silent because some buffer numbers may not exist. + silent! execute 'bdelete ' . i + endfor +endfunction diff --git a/bundle/buffer-delete/plugin/buffer_delete.vim b/bundle/buffer-delete/plugin/buffer_delete.vim new file mode 100644 index 0000000..23e7487 --- /dev/null +++ b/bundle/buffer-delete/plugin/buffer_delete.vim @@ -0,0 +1,6 @@ +if exists('g:loaded_buffer_delete') + finish +endif +let g:loaded_buffer_delete = 1 + +command! BufferDeleteUnloaded call buffer_delete#Unloaded() |