🗓 | 💻 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.
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
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
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.
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
En el campo Login Shell
elegimos la opción /bib/zsh
:
Tu terminal de iTerm lucirá ahora así:
Es el momento de personalizar el prompt por uno más Pro y útil que el que trae por defecto
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
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:
Podemos configurarlo con más información y colores para hacerlo más identificable.
$fg[color]
nos permite cambiar el color de lo que estamos escribiendo sustituyendo color
por red
, yellow
, green
, etc...%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.$reset_color
resetea los colores y vuelve a los de por defecto del terminalTambié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.
También 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'
También es muy útil para comandos de Git:
Y a continuación unas funciones que te harán ahorrar 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:
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...
✎ ¿Ves alguna errata? ¿Quieres modificar algo? Haz una Pull Request.
Soy Carlos Azaustre. Desarrollador web desde hace más de 8 años. He trabajado en Google, IBM y Eventbrite. Soy 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.
Recibe puntualmente información sobre las últimas novedades en tecnologías web y desarrollo web moderno para que estés siempre actualizadx:
🔒 Libre de Spam. Sólo contenido que te interesa.