Vim:关闭右侧的所有标签


12

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

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

然后说:

:tabcright

-----|active

谢谢!佩德罗

Answers:


12

没有本机命令,但是您可以使用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>')

5

davidxk答案的略有改进的版本,每个选项卡可进行多个拆分:

:.+1,$tabdo :tabc

4

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

:.+1,$tabdo :q

您也可以将其放在vimrc中,这样就不必记住该命令的详细信息。您可以执行以下操作:

command -nargs=0 Tabr :.+1,$tabdo :q
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.