Skip to content

Commit ba958ba

Browse files
committed
Add initial BD and BW commands
1 parent 4c9e2ba commit ba958ba

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

plugin/bdubs.vim

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
" bdubs.vim - quickly delete and wipeout buffers
2+
" Author: Josh Branchaud (joshbranchaud.com)
3+
" Version: 0.1
4+
5+
6+
if exists('g:loaded_bdubs')
7+
finish
8+
endif
9+
let g:loaded_bdubs = 1
10+
11+
let s:save_cpo = &cpo
12+
set cpo&vim
13+
14+
function! s:AllBuffersByNumber()
15+
let last_buffer = bufnr("$")
16+
let existing_buffers = filter(range(1, last_buffer), 'bufexists(v:val)')
17+
return existing_buffers
18+
endfunction
19+
20+
function! s:DeleteBuffers(args)
21+
let current_buffer = bufnr("%")
22+
for buffer_number in AllBuffersByNumber()
23+
if current_buffer != buffer_number
24+
execute buffer_number.'bd'
25+
endif
26+
endfor
27+
endfunction
28+
29+
function! s:WipeoutBuffers(args)
30+
let current_buffer = bufnr("%")
31+
for buffer_number in AllBuffersByNumber()
32+
if current_buffer != buffer_number
33+
execute buffer_number.'bw'
34+
endif
35+
endfor
36+
endfunction
37+
38+
command! -nargs=* BD call s:DeleteBuffers( '<args>' )
39+
command! -nargs=* BW call s:WipeoutBuffers( '<args>' )
40+
41+
let &cpo = s:save_cpo
42+
unlet s:save_cpo
43+
44+
" vim:set sw=2 sts=2:

0 commit comments

Comments
 (0)