Vim:关闭右侧的所有标签页

Vim:关闭右侧的所有标签页

我想知道是否有办法关闭当前选项卡右侧的所有选项卡。即

-----|active|-----|-----|------|

然后说:

:tabcright

-----|active

谢谢!Pedro

答案1

目前没有原生命令,但你可以使用 Vim 脚本轻松创建自己的命令。下面是一个基本示例,可让你关闭当前选项卡右侧的选项卡和左侧的选项卡:

function! TabCloseRight(bang)
    let cur=tabpagenr()
    while cur < tabpagenr('$')
        exe 'tabclose' . a:bang . ' ' . (cur + 1)
    endwhile
endfunction

function! TabCloseLeft(bang)
    while tabpagenr() > 1
        exe 'tabclose' . a:bang . ' 1'
    endwhile
endfunction

command! -bang Tabcloseright call TabCloseRight('<bang>')
command! -bang Tabcloseleft call TabCloseLeft('<bang>')

答案2

davidxk 答案的稍微改进版本,适用于每个选项卡的多个拆分:

:.+1,$tabdo :tabc

答案3

您可以使用tabdo允许您在一系列选项卡上运行命令的命令。

:.+1,$tabdo :q

你也可以将其放入 vimrc 中,这样你就不必记住此命令的细节。你可以这样做:

command -nargs=0 Tabr :.+1,$tabdo :q

相关内容