
En este blog, repasaré los pasos para agregar Temas, Powerline, fuentes y powerline-gitstatus para que su Terminal Bash normal se vea hermosa y útil como se muestra en la imagen de arriba.
Resulta que, si está usando Mac, tendrá que pasar por muchos obstáculos para que esto funcione, ya que muchas instrucciones son para Linux o están desactualizadas. Así que pensé en escribir un blog al respecto, espero que te ayude.
Notas:1. Siga los pasos cuidadosamente ya que cualquier error le causará muchos dolores de cabeza.
2. Esto es para MacOS y para bash regular en Terminal.app. No estoy usando ZSH o Hyper en este blog; planeo escribir blogs diferentes para ellos.
3. Mis versiones: Mac High Sierra; git versión 2.14.3 (Apple Git-98); Python 2.7.10
De acuerdo, de forma predeterminada, cuando tenga una nueva Mac, su Terminal.app se verá más abajo. Sigamos adelante y agreguemos Temas, fuentes, etc.

Paso 1: agregar un tema nuevo
El primer paso obvio es mejorar el tema. Terminal no proporciona todos los temas geniales y elegantes que ves que usan otros desarrolladores. Descarguemos un tema y lo agreguemos a la Terminal.
En este blog, agregaré el tema Solarized-Dark a nuestra Terminal.
Nota: Puede descargar varios temas (archivos .terminal) desde este repositorio de git. Simplemente abra el*.terminal
archivo para instalarlo, es decir, right-click on the *.terminal file > “open with" > Te
rminal- Vaya a //ethanschoonover.com/solarized
- Desplácese hacia abajo y descargue el tema (solarized.zip)
- Extraiga el archivo solarized.zip
- Abra la carpeta osx-terminal.app-colors-solarized . Esta carpeta contiene Tema para el terminal.
- Haga doble clic en el archivo "Solarized Dark ansi.terminal" : este es el archivo de tema específico para Terminal.app. Nota: Si recibe una advertencia de que se trata de un desarrollador no identificado, haga clic con el botón derecho en el archivo y seleccione "Abrir con"> Opción de terminal .
- En este punto, tiene el tema instalado en su terminal. Solo tenemos que convertirlo en un tema predeterminado.
- Abra Terminal> Preferencias> Texto y seleccione el tema "Solarized Dark ..." y haga clic en "Default".

De ahora en adelante, su Terminal debería gustar a continuación.

Paso 2 - Instale Powerline
Powerline es una aplicación de Python y es un complemento de línea de estado para vim, y proporciona líneas de estado y avisos para varias otras aplicaciones, incluidas zsh, bash, tmux, IPython, Awesome y Qtile.
Hace que el indicador de Terminal se vea como a continuación.

2.1 Instalar Python
Debido a que Powerline es una aplicación de Python, necesitamos tener Python y esa también una versión adecuada de Python.
- MacOS ya viene con Python instalado. Asegúrese de que la versión de Python sea 2.7.x escribiendo
python -V
en la Terminal. - Si no es 2.7, instale Homebrew que nos permite instalar varios software desde la CLI, ejecutando:
/usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"
- Ejecutar
brew install python
para instalar la última versión de Python a través de Homebrew
2.2 Instalar pip: un administrador de paquetes para Python (similar a npm)
Instale pip ejecutando el siguiente comando
$ sudo easy_install pip
2.3 Instalar las herramientas CLI de XCode Developer
Powerline y otras aplicaciones que manipulan las funciones centrales de OSX utilizan las herramientas CLI de XCode Developer. Así que asegúrese de instalar las herramientas CLI de XCode ejecutando el siguiente comando.
$ xcode-select —-install
xcode-select -r
reiniciar.2.4 Instalar Powerline
Finalmente, instale Powerline (versión estable) a través de pip ejecutando el siguiente comando.
$ pip install --user powerline-status
Si desea instalar la última rama de desarrollo, utilice:
$ pip install --user git+git://github.com/powerline/powerline //dev
2.5 Agregar el demonio Powerline a bash
Ahora necesitamos agregar el demonio Powerline a bash para que pueda monitorear el indicador de Terminal y hacer cambios.
2.5.1 Copie la ubicación de instalación de Powerline
Puede averiguar la ubicación de Powerline ejecutando lo siguiente: pip show powerline-status
Copie el valor del Location
campo.

2.5.2 Agregue el demonio con una ubicación adecuada a .bash_profile
- Asegúrese de tener un
.bash_profile
archivo en su directorio raíz. Si no sigue, cree uno haciendo:cd ~ && touch ~/.bash_profile
2. Abra .bash_profile
y agregue 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

2.5.3. Reiniciar la terminal
Salga completamente de la Terminal si está abierta (Terminal> Salir de la Terminal). Y ábrelo de nuevo.
Debería poder usarlo simplemente$ source ~/.bash_profile
para actualizar la configuración. ¡Pero me powerline-config
falta un archivo extraño ! Normalmente, aparece este error si no tiene $ HOME / Library / Python / 2.7 / bin en su RUTA.2.5.4 Tu nueva terminal
Su nueva Terminal debería verse como a continuación. Debería estar usando el tema "Solarized Dark ansi" y debería mostrar Powerline en el símbolo del sistema. Pero también observe que hay "?" ¡caracteres! Esto se debe a que Powerline utiliza varios iconos y fuentes que no están disponibles de forma predeterminada. Entonces necesitamos instalar las fuentes.

Paso 3: instalar fuentes Powerline
Para instalar fuentes Powerline, simplemente vaya a //github.com/powerline/fonts. Allí verá un montón de carpetas. Cada uno es una fuente, también conocida como "fuentes parcheadas".
Se llama "fuentes parcheadas" porque las personas han tomado fuentes normales y les han agregado / parcheado iconos y fuentes específicos de Powerline adicionales.
3.1 Descarga el repositorio completo y descomprímelo
- Haga clic en el botón "Clonar o descargar" y descargue el repositorio completo para que pruebe varias fuentes.
- Descomprime el archivo fonts-master.zip
3.2 Instalar algunas fuentes
Let’s open Meslo dotted fontsfolder. It will look like below. You’ll see a whole bunch of .ttf file. Each one of them is a font but some are “bold” version of the font, some are “regular” version and so on.
Simply double-click on the .ttf file and press “Install font” to install the font on your computer.
For our case, let’s install “Meslo LG L DZ Regular for Powerline.ttf” and “Meslo LG L DZ Italic for Powerline.ttf”. This will add a regular and an Italic version of the Meslo font.

3.3 Select the font in the Terminal’s Theme
Remember we added “Solarized Dark” theme in Step 1? That didn’t have any fonts in it and MacOS had some default font. All we need to do is to set our Meslo dotted font for this theme and we are done!
- Open Terminal > Preferences > Text
- Select Solarized Dark ansi Theme
- Click on the “Font” button — This opens up “Fonts” dialog
- In the “Fonts” dialog, select “Meslo LG L DZ for Powerline” in the Family and also select font size 14 (so it’s easier to read).

3.4 Restart Terminal
Completely quit the Terminal (Terminal > Quit Terminal) and then reopen it.

Step 4 — Adding Git information to the prompt
Para mostrar varios estados de Git en el indicador, necesitamos instalar powerline-gitstatus. Es un complemento simple de Powerline y agrega varios colores y temas para mostrar información de estado de git.

4.1 Instalar powerline-gitstatus
pip install --user powerline-gitstatus
Nota: Se requiere el comando “- usuario” para instalarlo en el perfil del usuario.4.2 Agregar esquemas de color powerline-gitstatus a Powerline
4.2.1 Abra la siguiente colorschemes/shell/default.json
carpeta
${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 Agregue los siguientes colores:
Como se menciona en el archivo readme de powerline-gitstatus. PD: Simplemente copie los colores dentro de "grupos" y luego añádalos al archivo default.json como se muestra a continuación.

Aquí están mis esquemas de color default.json (puede copiar y pegar esto en su lugar):
{ "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 Activar el tema
4.3.1 Abrir archivo default.json del tema
${powerline-install-directory}/powerline/config_files/themes/shell/default.json //For example: /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/themes/shell/default.json
4.3.2 Agregue lo siguiente a default.json
{ "function": "powerline_gitstatus.gitstatus", "priority": 40 }

A continuación se muestra el tema predeterminado.json de mi Powerline (puede copiar y pegar esto en su lugar):
Nota: Eliminé todo de la sección "derecha" y también eliminé "número de trabajo" ("número de trabajo") para mantener las cosas limpias. De lo contrario, verá un pequeño artefacto en el borde del lado derecho del indicador.{ "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 Reiniciar el demonio
Guarde el archivo y ejecute lo siguiente: powerline-daemon —-replace
en la Terminal.
powerline-daemon —-replace
.4.5 Reiniciar la terminal
Salga de la Terminal (Terminal> Salir de la Terminal) y ábrala nuevamente.
En este punto, ¡hemos terminado! ¡Uf! Si abre la Terminal y navega a cualquier repositorio de git, y juega, debería verse así.

Así es como se ve en Tema de luz solarizada:

Here is how it looks in Cobalt2 Theme:

?? Thank you!
If you have questions, please feel free to ask me on Twitter: //twitter.com/rajaraodv
If this was useful, please click the clap ? button down below a few times to show your support! ⬇⬇⬇ ??
My Other Posts
//medium.com/@rajaraodv/latest
ECMAScript 2015+
- Check out these useful ECMAScript 2015 (ES6) tips and tricks
- 5 JavaScript “Bad” Parts That Are Fixed In ES6
- Is “Class” In ES6 The New “Bad” Part?
Terminal Improvements
- How to Jazz Up Your Terminal — A Step By Step Guide With Pictures
- Jazz Up Your “ZSH” Terminal In Seven Steps — A Visual Guide
WWW
- A Fascinating And Messy History Of The Web And JavaScript
Virtual DOM
- Inner Workings Of The Virtual DOM
React Performance
- Two Quick Ways To Reduce React App’s Size In Production
- Using Preact Instead Of React
Functional Programming
- JavaScript Is Turing Complete — Explained
- Functional Programming In JS — With Practical Examples (Part 1)
- Functional Programming In JS — With Practical Examples (Part 2)
- Why Redux Need Reducers To Be “Pure Functions”
WebPack
- Webpack — The Confusing Parts
- Webpack & Hot Module Replacement [HMR] (under-the-hood)
- Webpack’s HMR And React-Hot-Loader — The Missing Manual
Draft.js
- Why Draft.js And Why You Should Contribute
- How Draft.js Represents Rich Text Data
React And Redux :
- Step by Step Guide To Building React Redux Apps
- A Guide For Building A React Redux CRUD App (3-page app)
- Using Middlewares In React Redux Apps
- Adding A Robust Form Validation To React Redux Apps
- Securing React Redux Apps With JWT Tokens
- Handling Transactional Emails In React Redux Apps
- The Anatomy Of A React Redux App
- Why Redux Need Reducers To Be “Pure Functions”
- Two Quick Ways To Reduce React App’s Size In Production