Ich habe mich gefragt, ob es eine Möglichkeit gibt, alle Registerkarten rechts von der aktuellen Registerkarte zu schließen. dh
-----|active|-----|-----|------|
und danach sagen:
: tabcright
-----|active
Vielen Dank! Pedro
Es gibt keine nativen Befehle dafür, aber Sie können Ihre eigenen ziemlich einfach mit dem Vim-Skript erstellen. Hier ist ein grundlegendes Beispiel, mit dem Sie die Registerkarten rechts von der aktuellen Registerkarte und die Registerkarten links schließen können:
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>')
Sie können den tabdo
Befehl verwenden, mit dem Sie einen Befehl auf einer Reihe von Registerkarten ausführen können.
:.+1,$tabdo :q
Sie können dies auch in Ihr vimrc einfügen, damit Sie sich die Details dieses Befehls nicht merken müssen. Sie können so etwas tun wie:
command -nargs=0 Tabr :.+1,$tabdo :q
Leicht verbesserte Version der Antwort von davidxk, die mit mehreren Teilungen pro Registerkarte funktioniert:
:.+1,$tabdo :tabc