Vim: cierra todas las pestañas a la derecha


12

Me preguntaba si hay una manera de cerrar todas las pestañas a la derecha de la pestaña actual. es decir

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

y luego, decir:

: tabcright

-----|active

¡Gracias! Pedro

Respuestas:


12

No existen comandos nativos para esto, pero puede crear los suyos con bastante facilidad utilizando el script Vim. Aquí hay un ejemplo básico que le permite cerrar las pestañas a la derecha de la pestaña actual y las pestañas a la izquierda:

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

Versión ligeramente mejorada de la respuesta de davidxk que funciona con múltiples divisiones por pestaña:

:.+1,$tabdo :tabc

4

Puede usar el tabdocomando que le permite ejecutar un comando en un rango de pestañas.

:.+1,$tabdo :q

También puede poner esto en su vimrc para que no tenga que memorizar los detalles de este comando. Puedes hacer algo como:

command -nargs=0 Tabr :.+1,$tabdo :q
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.