我想知道是否有办法关闭当前选项卡右侧的所有选项卡。即
-----|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