Capitulo 4: Splits y Tabs

Por: SiempreListo
ghosttyterminalsplitstabspanelesventana

Capitulo 4: Splits y Tabs

Ghostty incluye multiplexado nativo. No necesitas tmux ni screen para dividir la terminal en paneles y pestanas. Todo se renderiza con aceleracion GPU y componentes nativos del sistema operativo.

Anterior: Atajos de teclado | Siguiente: Temas y apariencia

Splits (divisiones de ventana)

Crear splits

Puedes dividir la ventana en cuatro direcciones:

# macOS (atajos por defecto)
Cmd + D              # Split horizontal (derecha)
Cmd + Shift + D      # Split vertical (abajo)

Tambien puedes configurar splits en cualquier direccion:

keybind = ctrl+shift+right=new_split:right
keybind = ctrl+shift+down=new_split:down
keybind = ctrl+shift+left=new_split:left
keybind = ctrl+shift+up=new_split:up

La opcion auto deja que Ghostty decida la mejor direccion segun el espacio disponible:

keybind = ctrl+shift+enter=new_split:auto

Puedes moverte entre splits por direccion o por orden de creacion:

# Por direccion
keybind = alt+left=goto_split:left
keybind = alt+right=goto_split:right
keybind = alt+up=goto_split:top
keybind = alt+down=goto_split:bottom

# Por orden de creacion
keybind = alt+bracketleft=goto_split:previous
keybind = alt+bracketright=goto_split:next

En macOS los atajos por defecto son:

AtajoAccion
Cmd + [Split anterior
Cmd + ]Split siguiente

Redimensionar splits

Ajusta el tamano de los splits en pixeles:

keybind = super+ctrl+left=resize_split:left,20
keybind = super+ctrl+right=resize_split:right,20
keybind = super+ctrl+up=resize_split:up,20
keybind = super+ctrl+down=resize_split:down,20

El segundo parametro es la cantidad de pixeles a mover el borde.

Igualar tamanos

Para distribuir el espacio equitativamente entre todos los splits:

keybind = ctrl+shift+e=equalize_splits

Zoom en un split

Puedes ampliar temporalmente un split para que ocupe toda la pestana:

keybind = ctrl+shift+z=toggle_split_zoom

Al activar el zoom, el split seleccionado ocupa todo el espacio de la pestana. Los demas splits se ocultan pero siguen activos. Presiona el mismo atajo para restaurar la vista dividida.

Cerrar un split

Para cerrar el split actual:

# macOS
Cmd + W

# Configuracion personalizada
keybind = ctrl+shift+w=close_surface

Si el split tiene un proceso en ejecucion, Ghostty pedira confirmacion antes de cerrarlo (a menos que el cursor este en el prompt, gracias a la shell integration).

Tabs (pestanas)

Crear pestanas

# macOS
Cmd + T

# Linux
Ctrl + Shift + T

# Configuracion personalizada
keybind = ctrl+shift+t=new_tab

Cada pestana nueva hereda el directorio de trabajo del terminal enfocado (gracias a la shell integration).

# Ir a pestana por numero
keybind = ctrl+1=goto_tab:1
keybind = ctrl+2=goto_tab:2
keybind = ctrl+3=goto_tab:3
# ... hasta 9

# Navegar secuencialmente
keybind = ctrl+tab=next_tab
keybind = ctrl+shift+tab=previous_tab

# Ir a la ultima pestana
keybind = ctrl+9=last_tab

En macOS los atajos por defecto:

AtajoAccion
Cmd + 1-9Ir a pestana N
Cmd + Shift + [Pestana anterior
Cmd + Shift + ]Pestana siguiente

Mover pestanas

Puedes reorganizar el orden de las pestanas:

# Mover pestana una posicion a la izquierda
keybind = ctrl+shift+page_up=move_tab:-1

# Mover pestana una posicion a la derecha
keybind = ctrl+shift+page_down=move_tab:1

Vista general de pestanas

En Linux con libadwaita 1.4+, puedes ver una vista general de todas las pestanas:

keybind = ctrl+shift+o=toggle_tab_overview

Busqueda de pestanas

Las pestanas se nombran automaticamente segun el ultimo comando ejecutado. Esto facilita buscar pestanas especificas cuando tienes muchas abiertas.

Cerrar pestanas

# macOS
Cmd + W      # Cierra el split actual (o la pestana si no hay splits)

# Configuracion personalizada
keybind = ctrl+shift+w=close_surface

Deshacer cierre

En macOS, puedes deshacer el cierre de un split o pestana durante unos segundos despues de cerrarlo:

Cmd + Z      # Deshacer cierre reciente

Esta funcionalidad restaura el split con su historial y estado.

Ventanas

Nueva ventana

# macOS
Cmd + N

# Configuracion personalizada
keybind = ctrl+shift+n=new_window

Pantalla completa

# macOS
Cmd + Ctrl + F       # o Cmd + Enter

# Configuracion personalizada
keybind = f11=toggle_fullscreen

Maximizar

keybind = super+shift+m=toggle_maximize

Flujo de trabajo recomendado

Un flujo de trabajo tipico con splits y tabs:

  1. Tab 1: Editor de codigo con splits para archivos relacionados
  2. Tab 2: Servidor de desarrollo (un split) + logs (otro split)
  3. Tab 3: Terminal general para git y comandos
# Configuracion sugerida para este flujo
keybind = ctrl+a>c=new_tab
keybind = ctrl+a>n=next_tab
keybind = ctrl+a>p=previous_tab
keybind = ctrl+a>v=new_split:right
keybind = ctrl+a>s=new_split:down
keybind = ctrl+a>h=goto_split:left
keybind = ctrl+a>l=goto_split:right
keybind = ctrl+a>k=goto_split:top
keybind = ctrl+a>j=goto_split:bottom
keybind = ctrl+a>z=toggle_split_zoom
keybind = ctrl+a>e=equalize_splits

Este esquema replica la experiencia de tmux con el prefijo Ctrl+A, permitiendo una transicion natural.


Anterior: Atajos de teclado | Siguiente: Temas y apariencia