如何关闭在vim中的窗口中未显示的所有缓冲区?
发布时间:2020-12-15 16:14:29 所属栏目:安全 来源:网络整理
导读:我在vim中打开了大量缓冲区,只有少数缓冲区在拆分窗口或其他选项卡中打开。有没有办法关闭除了那些分裂或制表符中当前可见的那些? 这里有一个替代解决方案,你可以放在.vimrc中: function! Wipeout() " list of *all* buffer numbers let l:buffers = ran
我在vim中打开了大量缓冲区,只有少数缓冲区在拆分窗口或其他选项卡中打开。有没有办法关闭除了那些分裂或制表符中当前可见的那些?
这里有一个替代解决方案,你可以放在.vimrc中:
function! Wipeout() " list of *all* buffer numbers let l:buffers = range(1,bufnr('$')) " what tab page are we in? let l:currentTab = tabpagenr() try " go through all tab pages let l:tab = 0 while l:tab < tabpagenr('$') let l:tab += 1 " go through all windows let l:win = 0 while l:win < winnr('$') let l:win += 1 " whatever buffer is in this window in this tab,remove it from " l:buffers list let l:thisbuf = winbufnr(l:win) call remove(l:buffers,index(l:buffers,l:thisbuf)) endwhile endwhile " if there are any buffers left,delete them if len(l:buffers) execute 'bwipeout' join(l:buffers) endif finally " go back to our original tab page execute 'tabnext' l:currentTab endtry endfunction 使用:调用Wipeout()。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |