vim中删除除当前buffer外所有的buffer

本文介绍了一个简单的Vim脚本,该脚本能够帮助用户在一个窗口中删除所有的缓冲区,除了当前正在使用的缓冲区之外。通过定义一个函数`DeleteAllBuffersInWindow()`并映射到快捷键上,使得操作更加便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()

虽然很简陋,但是是我写的第一个vim脚本
记录下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值