Vim:关闭右侧的所有选项卡

dro*_*ope 16 vim tabs

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

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

然后说:

:tabcright

-----|active

谢谢!佩德罗

Hep*_*ite 13

不存在用于此的本机命令,但您可以使用 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>')
Run Code Online (Sandbox Code Playgroud)


小智 9

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

:.+1,$tabdo :tabc
Run Code Online (Sandbox Code Playgroud)


小智 7

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

:.+1,$tabdo :q
Run Code Online (Sandbox Code Playgroud)

您也可以将其放入 vimrc 中,这样您就不必记住该命令的详细信息。你可以这样做:

command -nargs=0 Tabr :.+1,$tabdo :q
Run Code Online (Sandbox Code Playgroud)