devAlice
← Windows

Configuración de Windows Terminal — pestañas, divisiones, WSL/PowerShell + Oh My Posh

Haz que Windows Terminal se sienta como iTerm de macOS. Fija perfiles, atajos de teclado y tema en un único settings.json.

El desarrollo en Windows empieza con Windows Terminal. Agrupa WSL, PowerShell y el Símbolo del sistema como pestañas y divisiones en una sola ventana, y congela toda la configuración en un único archivo JSON (settings.json). Con una buena configuración obtienes un entorno casi igual al de macOS iTerm + tmux.

Esta guía está orientada a Windows 11 / Windows Terminal 1.21+. Es el paso de pulido del terminal de uso diario tras la configuración inicial de Windows y el ajuste de WSL.

Resumen

  1. Instalar Windows Terminal desde Microsoft Store (integrado en Win11)
  2. Ctrl+, (o ▼ → Settings) → modo de edición JSON
  3. Descarga el settings.example.json de esta guía y edítalo para tu máquina
  4. Fuente JetBrains Mono + tema oscuro + transparencia acrílica
  5. Oh My Posh para embellecer el prompt de PowerShell

Requisitos previos

  • Windows 11 (el 10 también funciona; algunos efectos acrílicos difieren)
  • WSL2 instalado — ajuste de WSL
  • (Opcional) PowerShell 7 (winget install Microsoft.PowerShell)

Descargar settings.json

La línea base recomendada por devAlice — pega los GUIDs de tu propia máquina y listo.

settings.json
# 1. Descargar
Invoke-WebRequest `
  -Uri https://devalice.jaceclub.com/assets/windows/windows-terminal-setup/settings.example.json `
  -OutFile settings.json
 
# 2. Verificar SHA-256 (Windows PowerShell)
Get-FileHash settings.json -Algorithm SHA256
# Esperado (Hash): BBDEBB16B68F5BBD9041DBE4FEFEC8BA5F30B497325F2A11B922C1DAEDB8525F
# (minúsculas: bbdebb16b68f5bbd9041dbe4fefec8ba5f30b497325f2a11b922c1daedb8525f)
 
# 3. Inspeccionar
notepad settings.json
 
# 4. Copiar a la ubicación real (Windows Terminal Stable)
$dst = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
Copy-Item settings.json $dst -Force

⚠️ Reemplaza los cuatro campos guid con los valores de tu máquina. Abre Windows Terminal una vez y mira los GUIDs generados automáticamente en el menú.


1. Instalar Windows Terminal — 1 min

Integrado en Win11. En caso contrario:

winget install Microsoft.WindowsTerminal

Ábrelo con Win + T o Inicio → «Terminal».

Atajos predeterminados (antes de personalizar)

TeclaAcción
Ctrl+,Settings
Ctrl+Shift+TNueva pestaña
Ctrl+TabSiguiente pestaña
Ctrl+Shift+WCerrar pestaña
Alt+Shift++Dividir a la derecha
Alt+Shift+-Dividir abajo

2. Editar settings.json directamente — 5 min

La GUI tiene limitaciones. Ve a JSON.

Ctrl+, (Settings) → esquina inferior izquierda ⚙ Open JSON file → settings.json se abre en tu editor predeterminado.

Ruta:

%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json

Windows Terminal Preview usa la misma ruta bajo Microsoft.WindowsTerminalPreview_.... Archivo diferente.

Cinco ajustes clave

{
  "$schema": "https://aka.ms/terminal-profiles-schema",
 
  // Perfil predeterminado (GUID)
  "defaultProfile": "{2c4de342-...}",  // p. ej., Ubuntu WSL
 
  // Copiar al seleccionar — estilo iTerm
  "copyOnSelect": true,
  "copyFormatting": "none",  // solo texto sin formato (sin color/formato)
 
  // Tema
  "theme": "dark"
}

3. Perfiles — WSL + PowerShell 7 + Ocultos — 10 min

3.1 Perfil Ubuntu (WSL)

{
  "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",  // valor de tu máquina
  "name": "Ubuntu (WSL)",
  "source": "Windows.Terminal.Wsl",
  "commandline": "wsl.exe -d Ubuntu",
  "startingDirectory": "//wsl$/Ubuntu/home/%USERNAME%",
  "colorScheme": "One Half Dark",
  "icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png"
}

Apuntar startingDirectory a tu home de WSL abre cada nueva pestaña en ~/.

3.2 Perfil PowerShell 7

{
  "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",  // valor de tu máquina
  "name": "PowerShell 7",
  "commandline": "pwsh.exe -NoLogo",
  "startingDirectory": "%USERPROFILE%",
  "colorScheme": "Campbell Powershell",
  "icon": "ms-appx:///ProfileIcons/pwsh.png"
}

-NoLogo oculta el banner de bienvenida de PowerShell. No hace falta verlo cada vez.

3.3 Ocultar perfiles que no usas

Si no usas el Símbolo del sistema, Azure Cloud Shell o Windows PowerShell (5.1):

{
  "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
  "name": "Windows PowerShell",
  "hidden": true
}

4. Fuente + Tema — 5 min

4.1 Instalar JetBrains Mono

winget install JetBrains.JetBrainsMono
# O: scoop bucket add nerd-fonts; scoop install JetBrainsMono-NF

Cierra sesión / vuelve a entrar tras la instalación (actualización de la caché de fuentes).

4.2 Aplicar valores predeterminados de fuente

"profiles": {
  "defaults": {
    "fontFace": "JetBrains Mono",
    "fontSize": 12,
    "fontWeight": "normal",
    "useAcrylic": true,
    "acrylicOpacity": 0.85,
    "cursorShape": "filledBox",
    "antialiasingMode": "cleartype",
    "padding": "10",
    "scrollbarState": "hidden",
    "snapOnInput": true,
    "historySize": 50000
  },
  // lista...
}

defaults se aplica a todos los perfiles; se permiten anulaciones por perfil.

4.3 Temas adicionales (opcional)

Añade paletas al array schemes. Copia JSON de Windows Terminal Themes.


5. Atajos de teclado: equivalentes al estándar Mac — 5 min

Añade a actions. El asset descargable ya incluye:

"actions": [
  { "command": "find",                                       "keys": "ctrl+shift+f" },
  { "command": "paste",                                       "keys": "ctrl+shift+v" },
  { "command": "copy",                                        "keys": "ctrl+shift+c" },
  { "command": { "action": "splitPane", "split": "right" }, "keys": "alt+shift+plus" },
  { "command": { "action": "splitPane", "split": "down"  }, "keys": "alt+shift+minus" },
  { "command": "closePane",                                   "keys": "ctrl+shift+w" },
  { "command": { "action": "moveFocus", "direction": "left"  }, "keys": "alt+left" },
  { "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
  { "command": { "action": "newTab" },                       "keys": "ctrl+shift+t" },
  { "command": { "action": "nextTab" },                      "keys": "ctrl+tab" }
]

Un mapeado natural para quienes migran desde iTerm / Terminal.app.


6. Oh My Posh: personaliza el prompt de PowerShell — 10 min

PS C:\Users\u> es pobre en información. Añade la rama de Git, el código de salida y rutas abreviadas.

6.1 Instalación

winget install JanDeDobbeleer.OhMyPosh

Abre una nueva terminal.

6.2 Aplicar en el perfil de PowerShell

notepad $PROFILE
# Si no existe: New-Item -Path $PROFILE -ItemType File -Force

Contenido:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression

Efecto inmediato en una nueva ventana de PowerShell.

6.3 Cambiar tema

Get-PoshThemes              # previsualizar todos los temas
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_rainbow.omp.json" | Invoke-Expression

Guarda el tema elegido en $PROFILE para que sea persistente.

6.4 Aplicar a bash/zsh en WSL (opcional)

# Dentro de WSL bash/zsh
curl -s https://ohmyposh.dev/install.sh | bash -s
echo 'eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"' >> ~/.bashrc

7. Patrones cotidianos

7.1 División rápida + comando diferente

Alt+Shift++ para dividir a la derecha → el nuevo panel ejecuta wsl -d Ubuntu. La izquierda es PowerShell, la derecha WSL — sensación de Mac iTerm + tmux.

7.2 tmux dentro de WSL

Windows Terminal solo divide ventanas — la gestión real de sesiones (separar/volver a conectar) vive en tmux dentro de WSL:

# En WSL bash
sudo apt install tmux
tmux new -s dev          # nueva sesión
# Trabaja, luego Ctrl+B → D (separar)
tmux attach -t dev       # volver a conectar

Cerrar Windows Terminal no mata la sesión de tmux.

7.3 Mantener settings.json en Git

$src = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
$dst = "$HOME\dotfiles\windows-terminal\settings.json"
mkdir "$HOME\dotfiles\windows-terminal" -ErrorAction SilentlyContinue
Copy-Item $src $dst -Force
cd "$HOME\dotfiles"
git add windows-terminal/settings.json
git commit -m "feat: windows terminal settings"

Invierte la copia en una máquina nueva para sincronización instantánea.


8. Resolución de problemas

Fuente no aplicada

La caché de fuentes debe actualizarse tras instalar JetBrains Mono. Cierra sesión / vuelve a entrar o reinicia.

Transparencia acrílica ausente

Windows 11 desactiva el acrílico en modo ahorro de batería o con efectos de transparencia desactivados. Configuración → Personalización → Colores → activa Efectos de transparencia.

startingDirectory del perfil WSL ignorado

Debe comenzar con //wsl$/... (dos barras normales). \\wsl$\\... falla en algunos entornos.

Glifos del prompt de PowerShell 7 rotos

Algunos temas de Oh My Posh necesitan una Nerd Font. Cambia la fuente a una variante Nerd:

winget install JetBrains.JetBrainsMono   # base
# Variante Nerd Font desde https://www.nerdfonts.com/ o scoop

Qué sigue

Referencias

Registro de cambios

  • 2026-05-12 — Borrador inicial (devAlice M2 seed expansion)