Мне было интересно, если есть способ закрыть все вкладки справа от текущей вкладки. т.е.
-----|active|-----|-----|------|
а после сказать:
:tabcright
-----|active
Спасибо! Pedro
Никаких собственных команд для этого не существует, но вы можете довольно легко создать свои собственные, используя скрипт 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>')
Вы можете использовать команду tabdo
которая позволяет вам запускать команды на нескольких вкладках.
:.+1,$tabdo :q
Вы также можете поместить это в свой vimrc, чтобы вам не приходилось запоминать детали этой команды. Вы можете сделать что-то вроде:
command -nargs=0 Tabr :.+1,$tabdo :q
Немного улучшенная версия ответа davidxk, которая работает с несколькими разделениями на вкладке:
:.+1,$tabdo :tabc