Eu queria saber se existe uma maneira de fechar todas as guias à direita da guia atual. ie
-----|active|-----|-----|------|
e depois, diga:
: tabcright
-----|active
Obrigado! Pedro
Não existem comandos nativos para isso, mas você pode criar seus próprios facilmente usando o script Vim. Aqui está um exemplo básico que permite fechar as guias à direita da guia atual e as guias à esquerda:
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>')
Versão ligeiramente melhorada da resposta do davidxk que funciona com várias divisões por guia:
:.+1,$tabdo :tabc
Você pode usar o tabdo
comando que permite executar um comando em várias guias.
:.+1,$tabdo :q
Você também pode colocar isso no seu vimrc para não precisar memorizar os detalhes deste comando. Você pode fazer algo como:
command -nargs=0 Tabr :.+1,$tabdo :q