From 652e068e951464c1b37535a8fe34a448b6bf5742 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 21 Oct 2020 19:38:21 +0200 Subject: Add 'buffer-delete' plugin I was having trouble with slow `` completion, and figured out it was due to the fact that I had about 300 buffers open. Many of these buffers weren't being actively used, and were just loaded in from Vim sessions past. When I removed the unloaded buffers, completion sped up like a whistle. Thanks to 'sidyll' (https://stackoverflow.com/users/557306/sidyll) on Stack Overflow for explaining how to get "all" buffer numbers (or at least all possible buffer numbers up to the highest one open), as well as the filtering logic: https://stackoverflow.com/questions/17931507/vimscript-number-of-listed-buffers/17933352#17933352 I leveraged the above to get the buffer numbers of all unloaded buffers, then delete the buffers by number. It was originally a temporary command-mode line, but I decided it could be beneficial to save the code just in case I need it again. --- bundle/buffer-delete/plugin/buffer_delete.vim | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 bundle/buffer-delete/plugin/buffer_delete.vim (limited to 'bundle/buffer-delete/plugin/buffer_delete.vim') 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() -- cgit v1.2.3