fun! DeleteAllBuffersInWindow()
let s:curWinNr = winnr()
if winbufnr(s:curWinNr) == 1
ret
endif
let s:curBufNr = bufnr("%")
exe "bn"
let s:nextBufNr = bufnr("%")
while s:nextBufNr != s:curBufNr
exe "bn"
exe "bdel ".s:nextBufNr
let s:nextBufNr = bufnr("%")
endwhile
endfun
map <leader>bda :call DeleteAllBuffersInWindow()
let s:curWinNr = winnr()
if winbufnr(s:curWinNr) == 1
ret
endif
let s:curBufNr = bufnr("%")
exe "bn"
let s:nextBufNr = bufnr("%")
while s:nextBufNr != s:curBufNr
exe "bn"
exe "bdel ".s:nextBufNr
let s:nextBufNr = bufnr("%")
endwhile
endfun
map <leader>bda :call DeleteAllBuffersInWindow()
虽然很简陋,但是是我写的第一个vim脚本
记录下
本文介绍了一个简单的Vim脚本,该脚本能够帮助用户在一个窗口中删除所有的缓冲区,除了当前正在使用的缓冲区之外。通过定义一个函数`DeleteAllBuffersInWindow()`并映射到快捷键上,使得操作更加便捷。
951

被折叠的 条评论
为什么被折叠?



