Las tabs en Vim son layouts de ventanas, no contenedores de archivos individuales. Cada tab puede tener múltiples splits con distintos buffers. Son útiles para separar contextos de trabajo completos.


Abreviaciones de modos:
N = Normal | I = Insert | V = Visual | C = Command | VB = Visual Block

Abrir y cerrar tabs

ModoComandoAcción
C:tabnewAbre una tab nueva vacía
C:tabnew {archivo}Abre una tab nueva con el archivo especificado
C:tabe {archivo}Equivalente a :tabnew {archivo}
C:tabcloseCierra la tab actual
C:tabclose {n}Cierra la tab número n
C:tabonlyCierra todas las tabs excepto la actual
N<Ctrl-w>TMueve la ventana actual a una nueva tab

Navegar entre tabs

ModoComandoAcción
NgtSalta a la siguiente tab
NgTSalta a la tab anterior
N{n}gtSalta directamente a la tab número n
C:tabnextSalta a la siguiente tab
C:tabprevSalta a la tab anterior
C:tabfirstSalta a la primera tab
C:tablastSalta a la última tab
C:tabnext {n}Salta n tabs hacia adelante

Mover y reordenar tabs

ModoComandoAcción
C:tabmoveMueve la tab actual al final
C:tabmove 0Mueve la tab actual al inicio
C:tabmove {n}Mueve la tab actual después de la posición n
C:tabmove +1Mueve la tab actual una posición a la derecha
C:tabmove -1Mueve la tab actual una posición a la izquierda

Ejecutar comandos en todas las tabs

ModoComandoAcción
C:tabdo {cmd}Ejecuta un comando en todas las tabs
C:tabdo %s/foo/bar/gReemplaza en todos los buffers visibles de cada tab
C:tabdo updateGuarda los cambios en todas las tabs
C:tabdo windo diffthisActiva diff en todas las ventanas de todas las tabs

Abrir múltiples archivos en tabs

ModoComandoAcción
C:args *.rs | tab allAbre cada archivo de la arglist en su propia tab
Cvim -p archivo1 archivo2Abre Vim con cada archivo en una tab separada
C:tab splitDuplica la ventana actual en una nueva tab
C:tab sb {n}Abre el buffer n en una nueva tab

Información y configuración de tabs

ModoComandoAcción
C:tabsLista todas las tabs con sus ventanas y buffers
C:set showtabline=0Nunca muestra la barra de tabs
C:set showtabline=1Muestra la barra solo si hay más de una tab (default)
C:set showtabline=2Siempre muestra la barra de tabs
C:set tabpagemax=20Limita el número máximo de tabs al abrir con -p

Tips

  • <Ctrl-w>T es el atajo más útil para reorganizar el espacio: extrae un split a su propia tab cuando el layout se vuelve demasiado denso.
  • :tab split duplica el contexto actual en una tab nueva sin cerrar el original; útil para explorar código sin perder el punto de trabajo.
  • {n}gt con número es más rápido que gt repetido; memoriza las posiciones de tus tabs de trabajo habituales para saltar directo.
  • Las tabs no reemplazan a los buffers: el flujo recomendado es buffers para archivos y tabs para contextos separados (frontend/backend, feature/tests).
  • :tabdo %s/foo/bar/g | update aplica y guarda un reemplazo en todos los buffers visibles de todas las tabs en un solo comando.