Original article: How to Jazz Up Your Bash Terminal — A Step By Step Guide With Pictures
En este blog iré en pasos para agregar Temas, Powerline, fuentes, y powerline-gitstatus para hacer que tu terminal de Bash luzca bello y útil como se muestra en la imagen de arriba.
Resulta que, si estás usando Mac, tendrás que pasar por muchos obstáculos para hacer que esto funcione, ya que muchas instrucciones son para linux, o están anticuados. Así que pensé en hacer un blog sobre esto - espero que te ayude.
Notas:
1. Sigue los pasos cuidadosamente ya que cualquier error causará un montón de dolores de cabeza.
2. Esto es para MacOS y para el bash regular en la Terminal.app. No estoy usando ZSH o Hyper en este blog — Planeo escribir diferentes blogs para ellos.
3. Mis Versiones: Mac High Sierra; versión de git 2.14.3 (Apple Git-98); Python 2.7.10
Bien, por defecto, cuando tienes un Mac nuevo, tu terminal lucirá como la imagen de abajo. Avancemos y agreguemos temas, fuentes, y así sucesivamente.
Tabla de Contenidos
- Paso 1 - Agregar un nuevo tema
- Paso 2 - Instalar Powerline
- 2.1 Instalar Python
- 2.2 Instala pip — Un Gestionador de paquetes para Python (similar a npm)
- 2.3 Instala las herramientas de XCode Developer CLI
- 2.4 Instala Powerline
- 2.5 Agregar el daemon de Powerline a bash
- Paso 3 - Instalar las fuentes de Powerline
- 3.1 Descargar el repo completo y extráelo
- 3.2 Instalar algunas fuentes
- 3.3 Selecciona la fuente en el Tema de la Terminal
- 3.4 Reinicia la Terminal
- Paso 4 - Agregar información de Git a la línea de comando
Paso 1 - Agregar un nuevo tema
El primero paso obvio es mejorar el Tema. La terminal no provee todos los temas geniales y elegantes que ves que otros desarrolladores usan. Descarguemos un Tema y agreguémoslo a la Terminal.
En este blog, agregaré el tema Solarized-Dark a nuestra terminal.
este repo de git*.terminal
right-click on the *.terminal file > “open with" > Te
- Ve a http://ethanschoonover.com/solarized
- Desliza hacia abajo y descarga el Tema (solarized.zip)
- Extrae el archivo solarized.zip
- Abre la carpeta osx-terminal.app-colors-solarized. Esta carpeta contiene el Tema para la terminal.
- Doble clic sobre el archivo “Solarized Dark ansi.terminal” — Este es el tema específico para la terminal.app.
Nota: si te llega una advertencia que esto es de un desarrollador sin identificar, haz clic derecho sobre el archivo y selecciona "Abrir con" > Terminal option.
- En este punto, tienes el tema instalado en tu terminal. Solo necesitamos hacerlo como un tema por defecto.
- Abrir Terminal > Preferences > Text y selecciona el tema “Solarized Dark …” theme y haz clic en “Default”.
De ahora en adelante, tu Terminal debería lucir como abajo.
Paso 2 - Instalar Powerline
Powerline es una aplicación de Python y un complemento de línea de estado para vim, y provee líneas de estado y mensajes para varias otras aplicaciones, incluyendo zsh, bash, tmux, IPython, Awesome y Qtile.
Hace que la Terminal luzca como abajo.
2.1 Instalar Python
Porque Powerline es una aplicación de Python, necesitamos tener Python y eso también una versión apropiada de Python.
- MacOS ya viene con Python instalado. Asegúrate que la versión de Python sea 2.7.x escribiendo
python -V
en la Terminal - Si no es 2.7, instala Homebrew que nos permite instalar varios software desde el CLI, ejecutando:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Ejecuta
brew install python
para instalar la última versión de Python a través de Homebrew
2.2 Instala pip — Un Gestionador de paquetes para Python (similar a npm)
Instala pip ejecutando el siguiente comando:
$ sudo easy_install pip
2.3 Instala las herramientas de XCode Developer CLI
Las herramientas de XCode Developer CLI son utilizados por Powerline y otras aplicaciones que manipulan las características principales de OSX. Así que asegúrate de instalar las herramientas de XCode CLI ejecutando el siguiente comando.
$ xcode-select —-install
xcode-select -r
2.4 Instala Powerline
Finalmente, instala el Powerline (versión estable) por medio de pip ejecutando el siguiente comando:
$ pip install --user powerline-status
Si quieres instalar la última rama de desarrollo, usa:
$ pip install --user git+git://github.com/powerline/powerline //dev
2.5 Agregar el daemon de Powerline a bash
Ahora necesitamos agregar el daemon de Powerline a bash así puede monitorear los mensajes de la Terminal y hacer cambios.
2.5.1 Copiar la ubicación de la instalación de Powerline
Puedes configurar la ubicación de Powerline ejecutando lo siguiente: pip show powerline-status
Copia el valor del campo Location
.
2.5.2 Agregar el daemon con una ubicación apropiada a .bash_profile
- Asegúrate de tener un archivo
.bash_profile
en tu carpeta raíz. Si no lo tienes crea uno haciendo:cd ~ && touch ~/.bash_profile
2. Abre .bash_profile
y agrega lo siguiente:
export PATH=$PATH:$HOME/Library/Python/2.7/bin
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh
Nota: La ubicación /Users/rupa/Library/Python/2.7/lib/python/site-packages/ es del paso anterior (2.5.1). Cambiálo para coincidir la ubicación de tu computadora.
2.5.3. Reinicia la Terminal
Sal completamente de la Terminal si está abierto (Terminal > Quit Terminal). Y ábrelo de nuevo.
$ source ~/.bash_profile
powerline-config
2.5.4 Tu nueva Terminal
Tu nueva Terminal debería lucir como el de abajo. Debería estar usando el tema "Solarized Dark ansi" y debería mostrar Powerline en la línea de comando. Pero nota también que hay caracteres "?"! Esto es debido a que Powerline usa varios íconos y fuentes que no están disponibles por defecto. Así que necesitamos instalar las fuentes.
Paso 3 - Instalar las fuentes de Powerline
Para instalar las fuentes de Powerline, simplemente ve a https://github.com/powerline/fonts. Allí verás un montón de carpetas. Cada una es una fuente, alias "Fuentes parcheadas".
Se llaman “Fuentes parcheadas” porque las personas han tomado fuentes regulares y le han agregado/parcheado íconos y fuentes específicos de Powerline adicionales.
3.1 Descargar el repo completo y extráelo
- Haz clic en el botón “Clone or download” y descarga el repo completo, así intentas varias fuentes.
- Extrae el archivo fonts-master.zip
3.2 Instalar algunas fuentes
Abramos la carpeta de fuentes Meslo dotted. Lucirá como el de abajo. Verás un montón de archivos .ttf. Cada uno de ellos es una fuente, pero algunos son versiones "negritas" de la fuente, algunas son versiones "regular" y así sucesivamente.
Simplemente, haz doble clic en el archivo .ttf y presionar "Install font" para instalar la fuente en tu computadora.
Para nuestro caso, vamos a instalar "“Meslo LG L DZ Regular for Powerline.ttf” y “Meslo LG L DZ Italic for Powerline.ttf”. Esto agregará una versión regular y una versión Italic de la fuente Meslo.
3.3 Selecciona la fuente en el Tema de la Terminal
¿Recuerdas que agregamos el tema "Solarized Dark" en el Paso 1? Eso no tenía ninguna fuente y MacOS tenía algunas fuentes por defecto. Todo lo que necesitamos hacer es configurar nuestra fuente Meslo dotted para este tema y ¡ya estamos listo!
- Abre Terminal > Preferences > Text
- Selecciona el Tema Solarized Dark ansi
- Haz clic en el botón “Font” — Esto abre el diálogo “Fonts”
- En el diálogo “Fonts”, selecciona “Meslo LG L DZ for Powerline” en la Familia y también selecciona el tamaño de fuente 14 (así es más fácil de leer).
3.4 Reinicia la Terminal
Sal completamente de la Terminal (Terminal > Quit Terminal) y luego vuelve a abrirlo.
Paso 4 - Agregar información de Git a la línea de comando
Para mostrar varios estados de Git en la línea de comando, necesitamos instalar powerline-gitstatus. Es una extensión simple a Powerline y agrega múltiples colores y Temas para mostrar varias informaciones de estado de git.
4.1 Instalar powerline-gitstatus
pip install --user powerline-gitstatus
Nota: El comando “ — user” es requerido para instalarlo en el perfil del usuario.
4.2 Agregar esquemas de color de powerline-gitstatus a Powerline
4.2.1 Abre la siguiente carpeta colorschemes/shell/default.json
${powerline-install-directory}/powerline/config_files/colorschemes/shell/default.json
//For example:
/Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/colorschemes/shell/default.json
4.2.2 Agrega los siguientes colores:
Como mencioné en el readme de powerline-gistatus. PS: Solo copa los colores dentro de “groups” y luego añádelo al archivo default.json como se muestra abajo.
Aquí está mi archivo default.json de esquemas de colores (puedes copiar y pegar esto):
{
"name": "Default color scheme for shell prompts",
"groups": {
"hostname": {
"fg": "brightyellow",
"bg": "mediumorange",
"attrs": []
},
"environment": {
"fg": "white",
"bg": "darkestgreen",
"attrs": []
},
"mode": {
"fg": "darkestgreen",
"bg": "brightgreen",
"attrs": ["bold"]
},
"attached_clients": {
"fg": "white",
"bg": "darkestgreen",
"attrs": []
},
"gitstatus": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_clean": {
"fg": "green",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_dirty": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_detached": {
"fg": "mediumpurple",
"bg": "gray2",
"attrs": []
},
"gitstatus_tag": {
"fg": "darkcyan",
"bg": "gray2",
"attrs": []
},
"gitstatus_behind": {
"fg": "gray10",
"bg": "gray2",
"attrs": []
},
"gitstatus_ahead": {
"fg": "gray10",
"bg": "gray2",
"attrs": []
},
"gitstatus_staged": {
"fg": "green",
"bg": "gray2",
"attrs": []
},
"gitstatus_unmerged": {
"fg": "brightred",
"bg": "gray2",
"attrs": []
},
"gitstatus_changed": {
"fg": "mediumorange",
"bg": "gray2",
"attrs": []
},
"gitstatus_untracked": {
"fg": "brightestorange",
"bg": "gray2",
"attrs": []
},
"gitstatus_stashed": {
"fg": "darkblue",
"bg": "gray2",
"attrs": []
},
"gitstatus:divider": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
}
},
"mode_translations": {
"vicmd": {
"groups": {
"mode": {
"fg": "darkestcyan",
"bg": "white",
"attrs": ["bold"]
}
}
}
}
}
4.3 Activa el Tema
4.3.1 Abre el archivo default.json del Tema
${powerline-install-directory}/powerline/config_files/themes/shell/default.json
//Por ejemplo:
/Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/themes/shell/default.json
4.3.2 Agrega lo siguiente al default.json
{
"function": "powerline_gitstatus.gitstatus",
"priority": 40
}
Abajo está mi archivo default.json del Tema de Powerline (puedes copiar y pegar esto):
Nota: He removido todo de la sección de la "derecha" y también removí “job number” (“jobnum”) para manetener las cosas limpias. De otra manera, verás un pequeño artefacto en el borde lateral derecho de la línea de comando.
{
"segments": {
"left": [{
"function": "powerline.segments.shell.mode"
},
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
}, {
"function": "powerline_gitstatus.gitstatus",
"priority": 40
}
],
"right": []
}
}
4.4 Reinicia el Daemon
Guarda el archivo y ejecuta lo siguiente: powerline-daemon —-replace
en la Terminal.
Nota Importante: reinicia el daemon para ver los cambios reflejados powerline-daemon —-replace
4.5 Reinicia la Terminal
Sal de la Terminal (Terminal > Quit Terminal) y ábrelo de vuelta.
En este punto, ¡ya estamos listo! ¡Uf! Si abres la Terminal, y navegas a cualquier repo de git, y juegas un poco, debería lucir como lo siguiente.
Aquí está como debería lucir en el Tema Solarized-Light:
Aquí está cómo debería lucir en el Tema Cobalt2:
¡Gracias!
Si tienes preguntas, por favor no dudes en preguntarme en Twitter: https://twitter.com/rajaraodv