Vim + Tmux: El Dúo Dinámico
Si Vim es nuestro editor, Tmux es nuestro escritorio. Tmux es un "multiplexor de terminales". ¿Qué significa eso? Que nos permite tener múltiples sesiones, ventanas y paneles dentro de una sola terminal. Juntos, Vim y Tmux crean un entorno de desarrollo increíblemente potente y ligero.
¿Por qué usarlos juntos?
Imaginemos que estamos editando código en Vim en un panel, tenemos el servidor corriendo en otro panel al lado, y una consola de git en una ventana separada. Todo esto sin tocar el ratón y persistente (podemos desconectarnos y volver más tarde y todo seguirá igual).
Conceptos Básicos de Tmux
Tmux se maneja con un "prefijo" (por defecto Ctrl + b) seguido de una tecla.
Gestión de Paneles (Splits)
Ctrl + bluego%: Divide verticalmente.Ctrl + bluego": Divide horizontalmente.Ctrl + bluegoflechas: Moverse entre paneles.
Gestión de Ventanas
Ctrl + bluegoc: Crear nueva ventana.Ctrl + bluegon: Siguiente ventana.Ctrl + bluegop: Ventana anterior.
Navegación Fluida: Vim-Tmux-Navigator
Uno de los mayores problemas al principio es que moverse entre paneles de Vim (Ctrl + w + h/j/k/l) es diferente a moverse entre paneles de Tmux.
Para solucionar esto, existe un plugin maravilloso llamado vim-tmux-navigator.
Configuración
- En Vim (
.vimrcoinit.lua): Instala el pluginchristoomey/vim-tmux-navigator. - En Tmux (
.tmux.conf): Añadamos la configuración para reconocer si estamos en Vim o en Tmux.
Con esto configurado, podremos usar Ctrl + h/j/k/l para movernos fluidamente entre nuestros archivos abiertos en Vim Y nuestros paneles de Tmux. ¡Es magia!
Flujo de Trabajo Típico
- Abrimos nuestra terminal.
- Creamos una sesión:
tmux new -s proyecto. - Dividimos la pantalla:
Ctrl + b+%. - En la izquierda abrimos Vim:
vim .. - En la derecha corremos nuestros tests o servidor.
Conclusión
Tmux potencia a Vim dándole capacidades de gestión de ventanas que rivalizan con cualquier IDE moderno. Pero hablando de IDEs... ¿y si pudiéramos convertir Vim en un IDE completo con autocompletado, explorador de archivos y más? Eso es lo que veremos en la siguiente lección con AstroNvim.