La terminal es esa herramienta usada por la mayoría de programadoras para correr comandos, ejecutar programas y scripts que ayudan al flujo de trabajo.
Te recomiendo que en Windows tengas instalado la nueva y Windows Subsystem for Linux (WSL) y la nueva terminal.
Esto lo puedes aprender en el nuevo curso de Prework: Configuración de Entorno de Desarrollo en Windows. Si tienes alguna distribución de Linux o una Mac (y iTerm2 preferiblemente), ya tienes todo lo que necesitas.
ZSH y oh-my-zsh
Empecemos por instalar zsh, es un shell que es muy fácil de personalizar, puedes instalarlo con:
Linux y WSL
sudo apt install zsh
Mac
brew install zsh
Y para instalar oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Temas
Cuando reinicies tu terminal tendrás unos colores y un tema muy familiar que seguro has visto en muchos de nuestros cursos. Ese tema se llama robbyrussell
Es un buen tema, puedes dejarlo así, no necesitas nada más y estás listo para continuar con tu aprendizaje. Sin embargo, hay una gran cantidad de temas allá afuera que podrían gustarte.
Muchos de estos, teniendo zsh instalados, puedes instalarlos modificando el archivo .zshrc
que te aparecerá en tu carpeta home o en la ruta ~/.zshrc
y si no está puedes crearlo sin ningún problema.
Yo soy muy fan de los temas sencillos y por eso mis preferidos son:
Pure
Fue una de las que usé por mucho tiempo por esa simplicidad que me gusta en las terminales, no necesito tanta información que puede arruinar un poco el espacio de mi pantalla, tal vez si tienes un monitor más grande puedes usar un tema diferente.
Spaceship

Es la que uso en este momento porque puede mostrar la versión del lenguaje que estás usando en ese entorno de trabajo. Tiene diferentes iconos para cosas como Node, PHP, Elixir, Python, Ruby y demás.
Starship

Me lo he encontrado haciendo este blogpost y se ve como una combinación entre las dos anteriores.
Powerlevel10k

Es otra que se ve mucho en el mundo de tutoriales de programación, es un tema que puedes configurar de diferentes formas dependiendo de tus gustos.
No es de mi gusto en particular, pero es muy popular.
Hay muchos más temas que puedes encontrar en el repositorio de oh-my-zsh o acá
Colores
Estos pueden variar de diferentes formas y puedes crear tu paleta de colores si así los prefieres, pero ya hay una gran cantidad que puedes usar si eres #TeamDark o #TeamLight
Gogh

Puedes probarlos con:
bash -c "$(curl -sLo- https://git.io/vQgMr)"
Funcionará con diferentes tipos de terminal usadas en Linux e incluso es compatible con iTerm en MacOS
Colores en Windows
Para cambiar los colores en WSL, les recomiendo usar Windows Terminal y nada más.
Si van a este repositorio se encontrarán con una carpeta que dice Windows Terminal color scheme.
Si estas familiarizado con algunos colores o nombres de temas como Monokai, Ocean, Dracula y similares puedes buscarlos en ese repositorio. Cualquiera que elijas, tendrás que copiar y pegar el contenido del documento .json. Por ejemplo Monokai Soda.json
Con Windows Terminal abierta, puedes escoger diferentes tipos de terminales, pero en este caso iremos a “Settings”

Pegarás el contenido de “Monokai Soda.json” en el apartado de schemes
y debería quedar de esta forma:
"schemes": [
{
"name": "Monokai Soda",
"black": "#1a1a1a",
"red": "#f4005f",
"green": "#98e024",
"yellow": "#fa8419",
"blue": "#9d65ff",
"purple": "#f4005f",
"cyan": "#58d1eb",
"white": "#c4c5b5",
"brightBlack": "#625e4c",
"brightRed": "#f4005f",
"brightGreen": "#98e024",
"brightYellow": "#e0d561",
"brightBlue": "#9d65ff",
"brightPurple": "#f4005f",
"brightCyan": "#58d1eb",
"brightWhite": "#f6f6ef",
"background": "#1a1a1a",
"foreground": "#c4c5b5"
}
]
Ahora puedes ir a la lista de perfiles que tienes en ese mismo archivo json y buscar a Ubuntu. Agregaremos "colorScheme": "Monokai Soda"
y debería quedar de esta forma:
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Soda"
}
Sin editar nada más actualizmos y nuestra terminal de Ubuntu en Windows Terminal debería tener ahora los colores de Monokai Soda o el tema que elgiste.
Plugins
Como puedes ver en los gifs de Starship o Spaceship hay algunas sugerencias al momento de escribir comandos e incluso un poco de highlight con colores cuando el comando es correcto esto es posible con los plugins
zsh-autosuggestions
Fácil con el nombre. Nos ayudará con las sugerencias al momento en que empecemos a escribir en la terminal. Suelen ser comandos que hemos hecho a lo largo del tiempo mientras el plugin esté instalado.
Así que si usamos los mismos comandos en nuestro proyecto, será de gran ayuda. Por ejemplo cuando queremos hacer commit, push o pull con git.
Con la flecha derecha -> en el teclado completará lo que te sugiere, esto por supuesto se puede cambiar en la configuración del plugin.
zsh-syntax-highlighting
Nos ayudará con el highlight de los comandos que escribamos, podrás saber si un comando es válido o no antes de ejecutarlo ahorrandonos una gran cantidad de tiempo y de dolores de cabezas con errores.
Este es un ejemplo de como se ve mi .zshrc
en la sección de plugins
plugins=(
git
zsh-autosuggestions
fast-syntax-highlighting
)
Hay muchos plugins que te pueden servir dependiendo de lo que hagas y de lo que te guste. Puedes encontrar muchos de ellos en este repositorio. Échale un vistazo a este gran listado y seguro encuentras algo que te gustaría probar.
Conoce también cómo instalar las terminales zsh y oh-my-zsh en Windows 10.
Conclusión
Puedes personalizar tu terminal de tantas formas posibles con ayuda de temas, colores, fuentes y plugins.
Es un lugar donde podemos pasar una gran cantidad de horas al igual que nuestro editor de texto, así que es muy apropiado configurarlo de la manera en la que estemos a gusto con solo verlo diariamente.
Espero que este blogpost te haya dado las bases e ideas para configurar tu terminal tantas veces como creas convenientes. Ahora, aprende más sobre Git Bash.
Muéstranos tu terminal en los comentarios y si quieres dinos como la configuraste 😃
Curso de Prework: Configuración de Entorno de Desarrollo en Windows