Personalizar tu terminal puede marcar una gran diferencia en tu productividad y comodidad como desarrollador. Una de las herramientas más populares para personalizar el prompt en Windows es Oh My Posh, que permite añadir temas visuales atractivos y funcionalidades extra tanto en PowerShell como en Windows Terminal.
En este artículo te acompaño, paso a paso, para que puedas transformar tu terminal de Windows con Oh My Posh. No te preocupes si nunca has personalizado nada antes: iré contigo desde instalar PowerShell hasta dejar tu terminal, literalmente, irreconocible. ¿Listo para darle estilo y funciones pro a tu consola habitual? ¡Vamos!
📜 Tabla de Contenido
- 💾 Instala PowerShell
- 💻 Configura Windows Terminal
- 🤖 Instala y configura Oh My Posh
- 🔝 Sube de nivel con estos módulos y aplicaciones
💾 Instala PowerShell
¿Todavía usas la versión antigua de PowerShell que viene con Windows? Para aprovechar Oh My Posh es fundamental tener la versión multiplataforma más reciente.
Mi forma favorita de instalar PowerShell es usando Winget porque es rápido y práctico, pero si prefieres puedes hacerlo desde la Tienda de Windows ➡. ¡Tú eliges!
Desde una ventana de Windows PowerShell, ejecuta:
winget install Microsoft.PowerShell -s winget
💻 Configura Windows Terminal
Desde la actualización 22H2 de Windows 11, la terminal predeterminada ya es Windows Terminal. Si no la tienes instalada, puedes hacerlo fácilmente desde Winget o desde la Tienda de Windows ➡:
winget install Microsoft.WindowsTerminal -s winget
¿Ya la tienes? ¡Perfecto! Sigamos con la configuración.
Establece Windows Terminal como la aplicación de terminal por defecto
Abre la terminal, haz clic derecho en la barra de título (fuera de las pestañas) o haz clic en la flecha hacia abajo que aparece al lado de la última pestaña y elige “Settings”. También puedes presionar Ctrl + ,
para ir directo a la configuración.
Busca la sección “Startup”. A la derecha, selecciona “PowerShell” en Default Profile y “Windows Terminal” en “Default Terminal Application”. Haz clic en “Save”. Así tendrás todo listo para seguir los siguientes pasos usando la mejor configuración.
Configura la política de ejecución de scripts de PowerShell
PowerShell se encuentra configurado de manera predeterminada con políticas que permiten o restringen la ejecución de comandos o scripts. Una computadora de escritorio con Windows tiene asignada la política “Restricted”, la cual permite la ejecución de comandos individuales pero no permite scripts. En un Servidor de Windows la política “RemoteSigned” permite la ejecución de scripts y comandos locales, sin embargo, requiere una firma digital para los scripts y configuraciones descargadas de internet.
La configuración “RemoteSigned” ha sido más que suficiente para la mayoría de ocasiones. En PowerShell ejecuta el siguiente comando.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Para confirmar que el cambio fue exitoso:
Get-ExecutionPolicy
El resultado esperado será:
RemoteSigned
🤖 Instala y configura Oh My Posh
Oh My Posh es la estrella de este tutorial. Es súper personalizable, bonito y tiene una comunidad enorme detrás. ¿Qué más se puede pedir?
Te recomiendo instalarlo con Winget, pero, como antes, también está disponible en la Tienda de Windows ➡.
Desde PowerShell:
winget install JanDeDobbeleer.OhMyPosh -s winget
Cuando termine la instalación, abre una nueva pestaña en PowerShell para que todo funcione correctamente.
Instala una fuente
Oh My Posh se encuentra diseñado para hacer uso de Nerd Fonts. Nerd Fonts consiste en fuentes populares con parches para incluir iconos, por lo que es necesario instalar una Nerd Font para poder visualizar los diferentes iconos en Oh My Posh.
oh-my-posh font install
¿Prefieres solo para tu usuario? Agrega –user al final.
oh-my-posh font install --user
Al ejecutar el comando, se desplegará una lista con diversas fuentes, Oh My Posh recomienda la fuente “Meslo”, la cual incluye la fuente “Meslo LGM NF”.
También puedes instalarla directamente por nombre. Puedes agregar el parámetro --user
al final para realizar la instalación únicamente para el usuario actual.
oh-my-posh font install meslo
Configura Windows Terminal para usar una Nerd Font
Abre el archivo de configuración de Windows Terminal presionando Ctrl + Shift + ,
o desde “Settings > Open JSON file”.
Busca la sección “profiles > defaults” y bajo ella coloca esto:
{
"profiles": {
"defaults": {
"font": {
"face": "MesloLGM Nerd Font"
}
}
}
}
Guarda los cambios. Tu terminal debería cambiar la fuente.
Configura la terminal de Visual Studio Code para usar una Nerd Font
En Visual Studio Code, es necesario configurar la terminal integrada para hacer uso de la Nerd Font. Esto puede realizarse ingresando a las configuraciones, la combinación de teclas por defecto es Ctrl + ,
. En la barra de búsqueda escribe Integrated: Font Family
o busca en las categorías “Users > Features > Terminal”. Reemplaza el valor existente por "MesloLGM Nerd Font"
.
Configura PowerShell para hacer uso de Oh My Posh
Vamos a decirle a PowerShell que use Oh My Posh cada vez que abras una terminal.
Abre tu perfil con el editor que prefieras, por ejemplo:
code $PROFILE
Agrega la siguiente instrucción y guarda los cambios.
oh-my-posh init pwsh | Invoke-Expression
Guarda y recarga el perfil:
. $PROFILE
¡Listo! Deberías ver el cambio inmediatamente. El resultado será similar al siguiente:
Configura un tema
Al instalar Oh My Posh, tienes acceso a algunos temas que se encuentran incluidos por defecto. Un ejemplo de todos los temas lo puedes encontrar en la documentación de temas de Oh My Posh ➡.
Explora y elige el que más te guste. Por ejemplo, si te gusta el tema minimalista zash, busca el archivo zash.omp.json
➡. Ese archivo se encuentra descargado en la ruta "$env:POSH_THEMES_PATH/zash.omp.json"
, por lo que en tu perfil de PowerShell debes modificar la configuración de la siguiente manera.
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/zash.omp.json" | Invoke-Expression
Guarda, recarga tu perfil.
. $PROFILE
El resultado será el siguiente, ¡disfruta tu nuevo look!:
Explora los diversos temas de Oh My Posh y configura el que mejor se adecue a tus necesidades.
En caso necesites regresar al tema por defecto, reemplaza el contenido de la configuración por la siguiente:
oh-my-posh init pwsh | Invoke-Expression
🔝 Sube de nivel instalando estos módulos y aplicaciones
📦 PSReadLine
Si usas Windows y quieres aprovechar algunas funciones típicas de bash, como el coloreado de sintaxis, la búsqueda en el historial y la personalización de teclas, te podría interesar PSReadLine. Este módulo trae una versión de readline con inspiración en bash para Windows, mejorando la experiencia de edición en la línea de comandos de PowerShell, haciéndola más interactiva y fácil de usar.
Para instalar PSReadLine ejecuta el siguiente comando para la versión pre-release, la cual normalmente tendrá más funcionalidades, sin embargo, puede contener algún bug.
Install-Module PSReadLine -AllowPrerelease -Force
O puedes instalar la versión estable.
Install-Module PSReadLine
Una vez instalada, es necesario modificar tu perfil para activar el módulo.
code $PROFILE
Coloca al inicio del archivo la siguiente configuración, guarda los cambios.
Import-Module PSReadLine
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineKeyHandler -Key Tab -Function Complete
Una vez guardados los cambios, refresca tu perfil.
. $PROFILE
Con la configuración anterior tendrás PSReadLine activo con los siguientes beneficios:
- Tu terminal tendrá colores de sintaxis para los comandos y sus argumentos.
- Historial y completado de comandos.
- Combinaciones de teclas configurables.
- Podrás navegar por el historial con las teclas del cursor arriba y abajo, es decir que si ya escribiste algún texto, buscará el texto ingresado mientras navegas en el historial.
- Presionando la tecla
Ctrl
y las teclas del cursor derecha o izquierda, puedes desplazarte por las palabras de la instrucción. - Presionando la combinación de teclas
Ctrl + l
puedes limpiar la pantalla de la terminal.
Puedes validar las combinaciones de teclas por defecto con el siguiente comando.
Get-PSReadLineKeyHandler
La documentación oficial la puedes encontrar en el repositorio oficial de PSReadLine ➡
📦 winfetch
winfetch es un script de PowerShell que actúa como una aplicación de línea de comandos que muestra información del sistema. winfetch muestra información del sistema operativo, de software y hardware de una forma estética y visualmente placentera.
Para instalar winfetch puedes ejecutar el siguiente comando desde una ventana de PowerShell:
Install-Script winfetch
El sistema te pedirá dos confirmaciones, la primera que el script será descargado en una ubicación y esta ubicación será agregada al path
. La segunda confirmación consiste en si estas seguro de querer instalar el script desde la PSGallery. Si estas de acuerdo, procede a confirmar ambas solicitudes con Y
.
Una vez terminada la instalación, ejecuta la instrucción winfetch
.
Mayor documentación y personalización la puedes encontrar en el repositorio oficial de winfetch ➡
📦 bat
bat
es un clon del comando cat
con resaltado de sintaxis e integración con Git.
Puedes instalar bat
por medio de WinGet.
winget install sharkdp.bat
En Windows adicionalmente debes instalar otro paquete llamado less
, el cual permitirá paginar el contenido cuando este sea demasiado grande para caber en la pantalla.
winget install jftuga.less
Las diversas formas de utilizar bat
las puedes encontrar en el repositorio oficial de bat ➡ y en el repositorio oficial de less-Windows ➡.
📦 eza
eza
es una alternativa moderna al programa para listar archivos ls
. Utiliza colores para distinguir tipos de archivos y metadatos. Reconoce symlinks, atributos extendidos, y Git.
Para instalar eza
ejecuta el siguiente comando desde PowerShell.
winget install eza-community.eza
Una vez instalado, abre una nueva pestaña de PowerShell para poder reconocer el nuevo comando.
Existen distintas opciones para mostrar y filtrar, la documentación la puedes encontrar en el repositorio oficial de eza ➡.
¡Felicidades! Ahora tienes una terminal no solo poderosa, sino también con estilo propio. ¿Quién diría que algo tan sencillo puede cambiar tanto tu experiencia diaria?
Cada pequeño ajuste es un paso más hacia un flujo de trabajo más ágil y disfrutable. ¡Sigue explorando y prueba nuevos temas, combinaciones y herramientas!
¿Qué hago si los íconos no se ven bien o aparecen cuadrados?
Verifica que hayas seleccionado la Nerd Font en todas las terminales. Algunas veces necesitas cerrar y abrir por completo las aplicaciones para que la nueva fuente se aplique.
¿No puedes ejecutar scripts?
Asegúrate de haber cambiado la política de ejecución Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
y de estar usando PowerShell, no CMD y no Windows Powershell. Si instalas scripts o fuentes para todo el sistema, podrías necesitar permisos de administrador.
¿El prompt no cambia tras instalar todo?
Revisa que la instrucción de Oh My Posh esté al final de tu archivo de perfil $PROFILE
y que hayas recargado la terminal. Si editaste tu perfil, pero no ves cambios, ejecuta . $PROFILE
para aplicar todo de inmediato.
Foto de Sunrise Kingi en Unsplash