Ver contenido

carlosazaustre.es carlosazaustre.es

Configura tu terminal de Mac como un desarrollador profesional

🗓 | 💻 Desarrollo | 🕐 3 minutos de lectura | 💬 Comments

¿Quieres tener un flujo de trabajo que te permita ser ágil, ahorrar tiempo y ser más productivo en el desarrollo de tus proyectos? A continuación cuento una serie de aplicaciones y configuraciones que harán más agradable la jornada de trabajo en tu Mac. Hoy hablaremos de la terminal.

iTerm2

Mac OSX viene con un terminal por defecto, como todos los sistemas operativos, sin embargo en ocasiones se queda demasiado limitado. Tenemos una alternativa en Mac que se llama iTerm2. Es gratuita y podemos descargarla desde su página web.

Una de las cosas que más me gusta es la opción de ocultar y mostrar el terminal rápidamente con una combinación de teclas. Para configurar esta opción, debemos ir al menú iTerm2 > Preferences..., clickar en la pestaña Keys y habilitar el checkboxk Hotkey - Show/hide iTerm2 with a system-wide hotkey

Screen Shot 2015 01 10 at 13 58 48

Colores

También podemos configurar los colores que se muestran en la terminal, eligiendo unos que nos resulten agradables. Para ello en la ventana de preferencias elegimos la pestaña Profiles, nos creamos uno nuevo. En mi caso le he puesto mi nombre carlosazaustre y

Screen Shot 2015 01 10 at 14 05 55

Los predefinidos que usará el sistema son Black, Red, Green, Yellow, Blue, Magenta, Cyan y White. Podemos cambiar sus valores hexadecimales por otros que nos resulten más agradables.

Un Theme para iTerm que resulta cómodo para la vista a la hora de trabajar y pasar muchas horas en la pantalla es el conocido cómo Solarized Dark. Para añadir este theme a iTerm nos dirigimos al proyecto Solarized en Github y clickamos en la carpeta iterm2-colors-solarized. Elegimos el fichero Solarized Dark.itermscolors y pulsamos en RAW para ver su contenido en texto plano. Guardamos el fichero en nuestro equipo con extensión .itermcolors y lo importamos en iTerm, en la pestaña Profiles en el botón Load Presets... Una vez importado, lo seleccionamos en el menú desplegable para activarlo.

Shell

Lo más normal es que tu shell por defecto sea bash. Para comprobarlo solo tienes que escribir el siguiente comando en la terminal:

Que te responderá con

Bash no está mal, pero prefiero utilizar zsh por las posibilidades y configuraciones que permite. Para cambiar el tipo de Shell en Mac. Abrimos el Panel de Preferencias del sistema, elegimos Usuarios y Grupos. Clickamos en nustro usuario con Click Derecho y elegimos Opciones avanzadas

Screen Shot 2015 01 10 at 14 25 09

En el campo Login Shell elegimos la opción /bib/zsh:

Screen Shot 2015 01 10 at 14 26 27

Tu terminal de iTerm lucirá ahora así: Screen Shot 2015 01 10 at 14 28 53

Es el momento de personalizar el prompt por uno más Pro y útil que el que trae por defecto

Prompt

La fuente por defecto que trae iTerm es Monaco, que no está mal, pero yo últimamente prefiero la tipografía de Ubuntu. La podemos descargar desde font.ubuntu.com y una vez instalada la versión Monospace en nuestro sistema, la activamos desde la pestaña Text en el tab Profiles de las Preferencias de iTerm

Screen Shot 2015 01 10 at 14 35 51

Para poder cambiar el shell por defecto que trae zsh, por uno más personalizado, tenemos que editar el fichero .zshrc en el directorio home, o ~

Cargamos los colores de iTerm dentro de la configuración del fichero con autoload -U colors && colors.

Para personalizar el prompt usamos la variable PROMPT. Si escribimos algo como PROMPT=" > " en nuestro terminal tendremos algo como esto:

Screen Shot 2015 01 10 at 15 35 48

Podemos configurarlo con más información y colores para hacerlo más identificable.

  • La variable $fg[color] nos permite cambiar el color de lo que estamos escribiendo sustituyendo color por red, yellow, green, etc...
  • la variable %n nos devuelve el nombre del usuario del sistema, en mi caso carlosazaustre
  • %m nos devuelve el nombre de la máquina, en mi caso macbookpro.
  • %~ nos permite ver el directorio en el que nos encontramos.
  • %T nos devuelve el tiempo (hora:minutos) actual.
  • la variable $reset_color resetea los colores y vuelve a los de por defecto del terminal

También podemos crear funciones, por ejemplo la función precmd se ejecuta antes de cada Prompt, por lo tanto si creamos la siguiente función:

Se ejecutará el comando ls que lista los archivos del directorio en el que nos encontremos cada vez que ejecutemos un comando.

Tambien podemos crear alias para comandos, y así ahorrarnos escribir. Por ejemplo, podemos hacer que el comando ll sea el equivalente a ls -al para mostrar los ficheros de un directorio en 1 columna, incluyendo los archivos ocultos. Eso lo podemos hacer con la siguiente línea: alias ll = 'ls -al'

Tambien es muy útilo para comandos de Git. podemos hacer los siguientes alias:

Y a continuación unas funciones que te harán ahorra tiempo:

Ésta función lo que hace es crear un directorio con el nombre que le pasemos por parámetro ($1) y después dirigirse a ese directorio, algo así:

Y esta otra hará que te estalle la cabeza:

Esto consigue que al teclear server en tu prompt, se arranque un servidor local en el directorio en que te encuentres y te abre el navegador para que puedas visualizarlo. Ideal para pruebas rápidas si no quieres configurar un servidor con Gulp o Grunt para tu entorno de desarrollo.

Mi fichero .zshrc completo, con lo que considero más útil, quedaría de la siguiente manera:

Oh My ZSH

Si quieres ahorrarte tiempo y ampliar la funcionalidad de tu terminal, te aconsejo que instales Oh My ZSH, un framework para manejar la consiguración de tu shell.

Lo puedes instalar de la siguiente manera:

Se instalará en el directorio ~/.oh-my-zsh. Para configurar los themes, sólo tienes que abrir el fichero .zshrc que se ha sido sobreescrito, y en la línea 8: ZSH_THEME="nombre_del_theme_que_más_te_guste" sustituir por el theme que más te guste.

A mi, particularmente me gusta este, nico.zsh-theme, que yo he cambiado un poco.

Copia el siguiente código en un fichero con nombre nico.zsh-theme en la carpeta ~/.oh-my-zsh/themes:

Y en el fichero ~/.zshrc cambia el valor de la variable ZSH_THEME por nico:

Reinicia la terminal y tendrás el siguiente aspecto. Con feedback de la rama de Git en la que te encuentres, si ha habido cambios en el repositorio, etc... Screen Shot 2015 01 10 at 18 07 20

✎ ¿Ves alguna errata? ¿Quieres modificar algo? Haz una Pull Request.

Carlos Azaustre

Soy Carlos Azaustre. Me dedico al desarrollo web. Actualmente trabajo como Senior Frontend Engineer en Eventbrite. Fui nombrado en 2019 GDE (Google Developer Expert) en Tecnologías Web. Desde 2013 intento documentar en éste blog todo lo que aprendo y así compartirlo con el resto de la comunidad.

Si te gusta lo que lees, puedes apoyarme en mi Patreon o invitarme a un café virtual 🙂

Se mi patrón Invítame a un Café