Crear arreglos personalizados para las ventanas de iTerm2 - Window Arrangement
Published: 2022-03-03 15:03:49

Con los siguientes pasos, aprenderemos a crear un atajo de teclado (keyboard shortcut) personalizado para generar automáticamente un conjunto de ventanas y divisiones con los diferentes procesos o servicios en ejecución.

## Cerrar todas las ventanas de iTerm2
Es necesario cerrar todas las ventanas porque vamos a utilizar la función “Save Window Arrangement (Guardar la distribución de las ventanas)”, la cual permite guardar todas las ventanas que estén abiertas. Cualquier ventana abierta en segundo plano también se guardará.

## Ejecutar iTerm2
Abrir una nueva ventana y configurar las pestañas y/o divisiones acorde al diseño que desees. Nota: No ejecutar ningún proceso y tampoco ir a un directorio especifico. En los siguientes pasos haremos estas configuraciones. Simplemente configure el diseño que desea, como se muestra en la siguiente imagen.

> `⌘ D` y `⌘ Shift D` son atajos útiles para crear divisiones verticales y horizontales.


![Ventana iTerm2 con sus divisiones](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vfgrxz2x4g7qi5pe31jz.png)

## Crear un nuevo perfil para cada shell o terminal
Vamos a realizar varios pasos para esto. Estar muy atentos, ya que puede ser un poco complicado pero lo vamos a explicar de la mejor forma posible.

- Ir a preferencias: Vamos al menú iTerm2 y seleccionamos preferences… o puedes ingresar con el atajo `⌘ ,` (Command Coma).

![Menú Preferencias](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x15iv4zwxl1pgaw71xvy.png)

- Ir la la pestaña “Profiles o Perfiles”.

![Ventana Preferencias - Pestaña Perfiles](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/40zajzje59mypwd8boyk.png)

- Crear un nuevo perfil y asignar un nombre específico que le ayude a identificar su proceso o proyecto. También agregar los comandos para ejecutar el proyecto.

![Crear un perfil iTerm2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6oiywaw4siuvamxjz5i4.png)

- En el campo “Send text at start / Enviar texto al inicio”, escribir los comandos necesarios para ejecutar tu proyecto, incluido cd el directorio o ruta correcta de tu proyecto. Esto con el fin de que se ejecute el shell desde el inicio. En los siguientes ejemplos, podemos notar que utilizamos ; para separar cada comando.

> **Nota:** Es posible utilizar la opción de “Directory / Directorio” para evitar el cd pero iTerm2 ejecuta primero “Send text at start” antes de abrir el directorio, por eso recomiendo no utilizarlo. Ejemplos:

`cd ~/Documents/Proyectos/proyecto-02; nvm use v12.22.1; npm run dev`
`cd ~/Documents/Proyectos/proyecto-01; docker-compose -f docker-compose.dev.yml up`

En estos ejemplos podemos notar cómo se accede a un directorio o ruta local y se ejecuta un servicio con Docker.
También podemos notar que podemos especificar la versión de node que utiliza el proyecto o servicio con nvm y el comando para ejecutarlo.

- **Repita los pasos de la creación del perfil:** para cada shell con un comando personalizado o un directorio de trabajo personalizado.
- **Asignar los perfiles correctos a los shell o terminales correctas:** Hacer clic derecho en cada shell y elija “Edit Session… o Editar Sesión”.


![Editar sesión](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgfcwvzzp5g2x42czi7g.png)

- Elegir su perfil correspondiente a cada shell. También puede aprovechar esta oportunidad para darle un nombre, que aparecerá en el título de la pestaña.


![Seleccionar perfil](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ue38xbkkjbrchmbo1x7k.png)

- Después de utilizar el perfil, puedes cerrar la ventana de preferencias.

> **Nota 1:** Presionar “Use Selected Profile” no te muestra ningún comentario de que funcionó.

> **Nota 2:** Establecer la sesión no ejecutará los comandos que se especificaron. Debemos seguir la guía para después verificar si todo está bien configurado.

## Guardar el arreglo de la ventana (Save the window arrangement)
Para guardar puedes ir al menú windows y hacer clic en “Save Window Arrangement” o presionar `⌘ Shift S` (Command-Shift-s), luego nombrar el nuevo arreglo.

![Guardar Arreglo de la Ventana](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nhw6p0a47wde0eo2eg3c.png)

![Nombrar el arreglo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c1ukim82ycyx5bcb5sth.png)

## Asignar un atajo de teclado para desplegar su arreglo
- vamos a preferencias nuevamente con `⌘ ,` (command coma) e ingresamos a la pestaña “Keys o Claves” para crear un nuevo acceso directo usando el icono `+`.
- En la nueva ventana, vamos a hacer clic en “Click to Set” de la opción “Keyboard Shortcut o Atajo de teclado”. Presionar las combinación de teclas que deseas utilizar para desplegar este espacio de trabajo o arreglo de ventanas. Recomiendo utilizar combinaciones como **⌘ Shift [Primera letra del arreglo]** algo como **⌘ Shift T** para abrir mi arreglo de ventana “Trabajo”.
- En el menú “Action o Acción”, desplácese para seleccionar “Select Menu Item… o Seleccionar elemento de menú”

![Seleccionar un elemento del menú](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mwwtkj4zkrnil5h9iqm1.png)

- Ahora aparece un nuevo menú desplegable y al hacer clic nos desplazamos hacía abajo hasta la sección de “Window o Ventana” cerca de la parte inferior. Busque la subsección “Restore Window Arrangement o Restaurar arreglo de la ventana” y seleccionar su arreglo creado.

![Seleccionar tu arreglo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/89z8t45k2ygv22k47act.png)

![Ventana después de seleccionar el arreglo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k35s8a6cz6nacaz5ya5t.png)

- Ahora cierre las ventanas nuevamente de iTerm2 y pruebe su arreglo activando su atajo de teclado.

## Solución de posibles problemas.
Si sus comandos de inicio para el despliegue del arreglo no funcionan como se esperaba, entonces debes modificar los comandos de su perfil de sesión en cada shell, luego reasignar el perfil al shell.
El perfil no se actualiza de forma inmediata o en vivo, porque almacena un caché, como una versión anterior de sus comandos de shell.
Después de modificar sus comandos de shell, repita los pasos de “Edit Session o Editar sesión…”. Luego guarde su arreglo nuevamente y sobrescribe el anterior con el mismo nombre. Esto solo puede ser probado volviendo a ejecutar un nuevo arreglo con el atajo de teclado que configuró.

---

Esperemos que todo haya funcionado muy bien y beneficiarse de un atajo que puedas activar cuando desees para ejecutar el arreglo personalizado y así desplegar tus proyectos de forma rápida.

Si esta guía te ayudó a mejorar el flujo de trabajo en iTerm2, puedes regalar un “heart, like, Unicorn” al artículo y compartir con otras personas. Muchas gracias por su tiempo.