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 te permite agregar temas visuales atractivos y funciones extra tanto en PowerShell como en Windows Terminal.
En este artículo, te guío paso a paso para transformar tu terminal de Windows con Oh My Posh. No te preocupes si nunca has personalizado nada antes; te llevo desde la instalación de PowerShell hasta dejar tu terminal con un aspecto completamente distinto.
Instalar PowerShell #

¿Todavía estás usando la versión antigua de PowerShell que viene con Windows? Para aprovechar al máximo Oh My Posh, es clave tener la versión más reciente y multiplataforma.
Mi forma favorita de instalar PowerShell es con Winget porque es rápido y fácil, pero también lo puedes obtener desde la Microsoft Store ➡️ . ¡Tú decides!
Desde una ventana de Windows PowerShell, ejecuta:
winget install Microsoft.PowerShell -s wingetConfigurar Windows Terminal #
Desde la actualización de Windows 11 22H2, Windows Terminal es la terminal predeterminada. Si no la tienes instalada, la puedes instalar fácilmente con Winget o desde la Microsoft Store ➡️ :
winget install Microsoft.WindowsTerminal -s wingetUna vez instalado, sigamos con la configuración.
Configurar Windows Terminal como la aplicación de terminal predeterminada #
Abre Windows Terminal, haz clic derecho en la barra de título (fuera de las pestañas) o haz clic en la flecha hacia abajo junto a la última pestaña y selecciona “Settings”. También puedes presionar Ctrl + , para abrir la configuración directamente.
Busca la sección Startup. A la derecha, configura PowerShell como el Perfil predeterminado y Windows Terminal como la Aplicación de terminal predeterminada, y haz clic en “Save”.

Configurar la política de ejecución de scripts en PowerShell #
Las políticas predeterminadas de PowerShell controlan si se pueden ejecutar scripts o comandos. En un equipo Windows de escritorio, normalmente la política está en “Restricted”, lo que permite ejecutar comandos individuales pero no scripts. En Windows Server, la política “RemoteSigned” permite ejecutar scripts y comandos locales, pero requiere que los scripts descargados estén firmados digitalmente.
Para la mayoría de casos, “RemoteSigned” es suficiente. Ejecuta este comando en PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -ForcePara confirmar que funcionó:
Get-ExecutionPolicyDeberías ver:
RemoteSignedInstalar y configurar Oh My Posh #
Oh My Posh es la estrella de este tutorial. Es muy personalizable, se ve muy bien y tiene una comunidad enorme detrás.
Recomiendo instalarlo con Winget, pero también está disponible en la Microsoft Store ➡️ .
Desde PowerShell, ejecuta:
winget install JanDeDobbeleer.OhMyPosh -s wingetUna vez instalado, abre una nueva pestaña de PowerShell para que todo cargue correctamente.
Instalar una fuente #
Oh My Posh está diseñado para usar Nerd Fonts. Nerd Fonts son fuentes populares “parchadas” para incluir íconos, así que necesitas instalar una Nerd Font para ver los íconos especiales en Oh My Posh.
Primero, explora las fuentes disponibles:
oh-my-posh font listEsto imprime un nombre de fuente por línea, así que puedes filtrarlo para buscar algo específico, por ejemplo oh-my-posh font list | findstr /i mono. Oh My Posh recomienda la familia “Meslo”, que incluye “Meslo LGM NF”.

Una vez que elijas un nombre de la lista, instálala:
oh-my-posh font install mesloLas fuentes siempre se instalan para tu usuario actual, así que no necesitas una terminal elevada. También puedes instalar directamente desde una URL o un archivo zip local, por ejemplo oh-my-posh font install https://example.com/font.zip.
Configurar Windows Terminal para usar una Nerd Font #
Abre el archivo JSON de configuración de Windows Terminal presionando Ctrl + Shift + , o desde “Settings > Open JSON file”.
Busca la sección “profiles” > “defaults” y agrega esto:
{
"profiles": {
"defaults": {
"font": {
"face": "MesloLGM Nerd Font"
}
}
}
}Guarda y la fuente de tu terminal se actualizará.
Configurar la terminal de Visual Studio Code para usar una Nerd Font #
En Visual Studio Code, configura la terminal integrada para usar la Nerd Font. Abre la configuración (Ctrl + ,), busca “Integrated: Font Family”, y reemplaza el valor con MesloLGM Nerd Font.
Configurar PowerShell para usar Oh My Posh #
Vamos a decirle a PowerShell que cargue Oh My Posh cada vez que inicies una terminal.
Abre tu perfil con tu editor favorito, por ejemplo:
code $PROFILEAgrega esta línea y guarda:
oh-my-posh init pwsh | Invoke-ExpressionRecarga tu perfil:
. $PROFILE¡Listo! Deberías ver que tu prompt cambia de inmediato a algo como esto:

Elegir un tema #
Oh My Posh incluye varios temas integrados. Puedes explorarlos en la documentación de temas de Oh My Posh ➡️ .
Elige el que te guste y haz referencia a él por nombre (sin extensión) en la línea de tu perfil de PowerShell. Por ejemplo, si te gusta el tema minimalista “zash”, actualiza la línea a:
oh-my-posh init pwsh --config "zash" | Invoke-ExpressionEsto descarga y guarda en caché el tema al iniciar la terminal, así que necesitas conexión a internet la primera vez. Si prefieres quedarte con una copia local para modificarla, expórtala a un archivo:
oh-my-posh config export --config zash --output ~/zash.omp.jsonLuego apunta la línea de tu perfil a ese archivo, --config "~/zash.omp.json".
Guarda y recarga:
. $PROFILE¡Disfruta tu nuevo look!

Si quieres volver al tema predeterminado, solo usa:
oh-my-posh init pwsh | Invoke-ExpressionSube de nivel instalando estos módulos y apps #
PSReadLine #
Si quieres funciones comunes en bash, como resaltado de sintaxis, búsqueda en el historial y personalización de teclas, PSReadLine es para ti. Mejora la edición de la línea de comandos en PowerShell para que sea más interactiva y amigable.
Instala la versión pre-release (más funciones, puede tener bugs):
Install-Module PSReadLine -AllowPrerelease -ForceO la versión estable:
Install-Module PSReadLineLuego edita tu perfil de PowerShell:
code $PROFILEAgrega al inicio de tu perfil:
Import-Module PSReadLine
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineKeyHandler -Key Tab -Function CompleteGuarda y recarga:
. $PROFILELos beneficios de esta configuración incluyen:
- Resaltado de sintaxis para comandos y argumentos
- Historial de comandos y autocompletado con Tab
- Atajos de teclado configurables
- Búsqueda en el historial con flechas arriba/abajo, respetando el texto que ya escribiste
Ctrl + arrow keyspara moverte por palabrasCtrl + Lpara limpiar la pantalla
Revisa los key bindings con:
Get-PSReadLineKeyHandlerDocumentación oficial en el repo de PSReadLine en GitHub ➡️
winfetch #
winfetch es un script de PowerShell que muestra información del sistema (SO, software, hardware) en un formato claro y ordenado.
Para instalar:
Install-Script winfetchConfirma ambos mensajes presionando Y. Una vez instalado, ejecuta:
winfetch
Más info en el repo de winfetch en GitHub ➡️
bat #
bat es un clon de cat que agrega resaltado de sintaxis e integración con Git.
Instálalo con:
winget install sharkdp.bat
En Windows, instala less también para paginar:
winget install jftuga.lessUso y detalles en el repo de bat en GitHub ➡️ y en el repo de less-Windows ➡️ .
eza #
eza es una alternativa moderna a ls con colores, metadata, reconocimiento de symlinks y soporte para estado de Git.
Instálalo con:
winget install eza-community.ezaAbre una nueva pestaña de PowerShell para empezar a usarlo.

Mira opciones y docs en el repo de eza en GitHub ➡️ .
Ahora tienes una terminal potente y con estilo, a partir de unos pocos cambios de configuración.
¡Sigue explorando nuevos temas, combinaciones y herramientas!
¿Los íconos aparecen como cuadros o no se muestran? Asegúrate de haber seleccionado la Nerd Font en todas tus terminales. A veces necesitas cerrar por completo y volver a abrir las apps para que la fuente se aplique.
¿No puedes ejecutar scripts?
Asegúrate de haber cambiado la política de ejecución con Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force y de estar usando PowerShell, no CMD ni Windows PowerShell. Las instalaciones a nivel sistema pueden requerir permisos de administrador.
¿El prompt no cambia después de la configuración?
Verifica que el comando de Oh My Posh esté al final de tu archivo $PROFILE y que hayas recargado tu perfil (. $PROFILE). Si editaste tu perfil pero no ves cambios, ejecuta . $PROFILE manualmente.
Foto de Sunny Hassan ➡️ en Unsplash ➡️



