tmux Config: entendiendo el archivo de configuración + ejemplos de personalización

tmux Config: entendiendo el archivo de configuración + ejemplos de personalización

tmux es un multiplexor de terminal popular que permite ejecutar múltiples sesiones dentro de una sola ventana. Los usuarios también pueden cambiar fácilmente entre estas sesiones, desconectándolas o volviéndolas a conectar. 

Además de las características que tmux ofrece por defecto, puedes personalizarlo aun más para adaptarlo a tus proyectos.

En este tutorial explicaremos cómo puedes beneficiarte de personalizar tmux y revisaremos sus opciones de configuración.

Archivo tmux Config

Puedes configurar el entorno de tmux con la ayuda de un archivo de configuración del sistema. Para usarlo inicia sesión en tu servidor virtual alojado a través de SSH y crea el archivo tmux.conf. Puedes hacerlo a través de PuTTY SSH. Luego, añade los comandos de configuración preferidos.

Alternativamente, puedes conectarte fácilmente a SSH a través de nuestra terminal de navegador y así eliminas la necesidad de software adicional:

Ten en cuenta que la configuración puede ser global o local, dependiendo de la ubicación del archivo. Si necesitas un archivo de configuración local, créalo en el directorio principal con el siguiente comando de Linux:

touch ~/.tmux.conf

Por otro lado, si quieres crear un archivo de configuración global para tmux, ponlo en el directorio /etc:

touch /etc/tmux.conf

Ahora, añade la configuración preferida al archivo tmux.conf. Después, guarda el archivo y cierra el editor de texto. Los cambios se aplicarán la próxima vez que inicies tmux.

Opciones de tmux Config

tmux tiene varias combinaciones de teclas y funciones que pueden no ser adecuadas para todos los usuarios. Al configurar tmux, puedes personalizar las combinaciones de teclas y diferentes funciones para alinearlas con tu flujo de trabajo y preferencias.

Además de las combinaciones de teclas y opciones, puedes cambiar la apariencia de tu terminal tmux. Por ejemplo, personaliza su esquema de colores o establece un color de fondo.

Por último, los usuarios pueden configurar scripts o comandos personalizados para ejecutarse cuando tmux se inicia. Esto puede ser útil para entornos de desarrollo personal, ayudándote a automatizar ciertas tareas y asegurándote de que no perderás ningún trabajo.  

Profundicemos en las tres principales categorías de configuración:

Opciones de servidor y sesión

Deberías configurar las opciones del servidor al iniciar tmux, ya que afectan a todas las sesiones. Ejemplos de opciones de servidor incluyen:

  • Tipo de terminal predeterminado
  • Número máximo de sesiones
  • Ubicación del socket para conectar al servidor tmux

Utiliza el comando set-option -s  para aplicar las opciones del servidor. 

Mientras tanto, las opciones de sesión afectan el comportamiento de una sesión en particular. Algunas de las opciones de sesión más comunes son:

  • Nombre de las sesiones
  • Directorio de trabajo inicial
  • Diseño de ventana predeterminado

Para configurar las opciones de sesión, opta por el comando set-option.

Opciones de usuario

Con tmux, los usuarios pueden establecer configuraciones personalizadas, las cuales pueden modificar las opciones de panel, ventana, sesión o servidor. Ten en cuenta que todas las opciones de usuario son cadenas y deben ir precedidas por el símbolo @. Además, las opciones de usuario pueden almacenar valores personalizados de scripts.

Opciones de ventana y panel

tmux ofrece muchas opciones de configuración que permiten a los usuarios personalizar la apariencia de sus ventanas y paneles. Además, las opciones del panel pueden heredarse de las opciones de la ventana. Como resultado, los usuarios pueden establecer cualquier opción de panel como una opción de ventana, y tmux aplicará la configuración a todos los paneles.  

Ejemplos de tmux Config

Echemos un vistazo a algunos de los ejemplos de configuración de tmux más populares.  

Cambiar el prefijo predeterminado

Una de las opciones de configuración más importantes de tmux es el prefijo. La combinación de teclas predeterminada es Ctrl + B. Para enviar un comando a tmux, los usuarios necesitan presionar Ctrl + B, y luego el comando deseado.

La clave de prefijo es fácilmente configurable. En este ejemplo, cambiaremos el prefijo de Ctrl + B a Ctrl + A. Para hacerlo, abre el archivo de configuración de tmux con el editor de texto preferido:

sudo nano ~/tmux.conf

Luego pega el siguiente código:

# Change prefix from 'Ctrl+B' to 'Ctrl+A'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

Guarda los cambios e inicia una nueva sesión de tmux. 

Usa el modo ratón

El modo ratón permite a los usuarios interactuar con las ventanas y paneles de tmux utilizando tu ratón. Una vez habilitado, los usuarios pueden redimensionar ventanas y paneles y desplazarse a través de la salida de las sesiones de tmux. 

Ten en cuenta que el soporte para el ratón está desactivado por defecto. Para activarlo, abre el archivo de configuración:

sudo nano ~/.tmux.conf

Luego pega este código y guarda los cambios:

# Enable mouse mode
set -g mouse on

Establece dos prefijos

Es posible tener múltiples teclas de prefijo en tmux. Esto puede ser útil si quieres usar una tecla de prefijo diferente en varios contextos o tener una tecla de prefijo secundaria como respaldo. 

Para ilustrar, habilitaremos los prefijos Ctrl + A  y Ctrl + B. Abre el archivo de configuración y añade los siguientes comandos de tmux:  

# Enable two prefixes
set-option -g prefix C-a
set-option -g prefix2 C-b

Cambia el comportamiento predeterminado del servidor

Por defecto, el servidor tmux se cerrará cuando no haya sesiones activas. Para prevenir esto, puedes desactivar la opción exit-empty con el siguiente comando:

#Disable exit-empty
set -s exit-empty off

Empieza a contar los números de ventanas y paneles (Base-Index) desde 1

Al iniciar tmux, notarás que tanto los números de ventana como de panel empiezan desde cero, lo cual puede ser incómodo y confuso. Afortunadamente, es posible establecer el índice base para empezar a contar desde uno. Simplemente añade el siguiente código a tu archivo de configuración de tmux:

# Start counting pane and window number at 1
set -g base-index 1
setw -g pane-base-index 1

Desactiva el cambio de nombre automático globalmente

El cambio de nombre automático cambiará el nombre de una ventana tmux utilizando el formato especificado por la opción formato de renombramiento automático. Para desactivar el cambio de nombre automático a nivel global en tmux, añade la siguiente línea al archivo de configuración global:

# Disable automatic renaming
set-option -wg automatic-rename off

Guarda los cambios e inicia una nueva sesión de tmux.

Haz el fondo del panel actual blanco

Utiliza el siguiente comando para establecer el color de fondo del panel actual a blanco:

# Change the background color to white
set -g window-active-style bg=white

También es posible ajustar los colores del panel con el siguiente código:

# Change pane colors
set -g pane-active-border fg=red 
set -ag pane-active-border bg=magenta

Cómo configurar tmux para permitir copiar-pegar entre el portapapeles del sistema y el de tmux

Por defecto, tmux utiliza su portapapeles para copiar y pegar texto dentro de una sesión. Significa que los usuarios no pueden pegar texto copiado de tmux en una ventana externa.

Sin embargo, es posible configurar tmux para permitir copiar y pegar entre el portapapeles del sistema y el portapapeles de tmux. Para hacerlo, considera instalar xclip, que permite la comunicación entre los portapapeles de tmux y del sistema.

Aquí están los pasos para configurar tmux para que puedas copiar y pegar:

1. Instala xclip:

sudo apt-get install xclip

2. Añade las siguientes líneas a tu archivo de configuración de tmux:

# Use xclip to copy and paste with the system clipboard
bind C-c run "tmux save-buffer - | xclip -i -sel clip"
bind C-v run "tmux set-buffer $(xclip -o -sel clip); tmux paste-buffer"

Esta configuración utiliza C-c para copiar el texto seleccionado al portapapeles del sistema y C-v para pegar desde el portapapeles del sistema en tmux.

3. Reinicia tu configuración de tmux con el siguiente comando:

tmux source-file ~/.tmux.conf

Después de estos pasos, podrás copiar y pegar texto entre tmux y el portapapeles del sistema. Siempre que presiones el  prefijo seguido de Ctrl + C, xclip capturará el buffer actual de tmux. Cuando quieras pegar el contenido, presiona el prefijo seguido de Ctrl + V.

Conclusión

tmux es una excelente herramienta para la gestión de cualquier servidor basado en Unix. Combinado con las opciones de configuración adecuadas, los usuarios pueden esperar personalizar su terminal para cumplir incluso con los estándares más altos.

En este tutorial cubrimos las principales categorías de configuración de tmux y proporcionamos algunos ejemplos de configuración útiles. Además, pasamos por el proceso de instalación de xclip, que permite copiar y pegar datos entre los portapapeles del sistema y tmux. 

Si tienes alguna pregunta o comentario, déjalos en la sección de comentarios abajo.

FAQs sobre tmux Config

Echa un vistazo a estas preguntas más frecuentes sobre tmux Config.

¿Dónde está el archivo tmux Config?

El archivo de configuración de tmux generalmente se encuentra en ~/.tmux.conf. Este archivo contiene un conjunto de comandos ejecutados cada vez que tmux se inicia, lo que permite a los usuarios personalizarlo. Si el archivo ~/.tmux.conf no existe, créalo ejecutando el comando touch ~/.tmux.conf. Creará un archivo de configuración vacío que los usuarios pueden editar.

¿Qué es SETW en tmux?

SETW o set-window-option se utiliza para configurar varias opciones de nuevas ventanas como mode-keys, synchronize-panes, allow-rename y main-pane-height.

¿Cómo encontrar un prefijo tmux?

En tmux, el prefijo es la combinación de teclas que presionas antes de emitir un comando. El prefijo predeterminado es Ctrl + B, pero se puede personalizar para ser cualquier combinación. Para averiguar cuál es el prefijo actual, intenta presionar Ctrl + B. Si no funciona, abre el archivo tmux.conf y busca la línea set-option -g prefix.

Author
El autor

Luis Jordán

Luis es un profesional del eCommerce y de los creadores de sitios web que ama el marketing digital. Se dedica a ayudar a las empresas a mejorar su presencia online a través de las prácticas del marketing. Cuando no está sentado frente al computador, seguramente está cocinando algún platillo o entrenando.