Su Windows 11 il vecchio prompt nero e' passato di moda. Windows Terminal + PowerShell 7 + Oh My Posh danno un'esperienza al livello di Warp o iTerm2 su Mac.
1. Windows Terminal (se non l'hai)
winget install Microsoft.WindowsTerminal
winget install Microsoft.PowerShell
Windows 11 arriva gia' con Terminal ma probabilmente non con PowerShell 7 (che e' molto piu' rapido di 5.1).
2. Font Nerd Font (icone Powerline)
winget install --id DEVCOM.JetBrainsMonoNerdFont
Poi in Terminal: Impostazioni > PowerShell > Aspetto > Tipo di carattere imposta JetBrainsMono Nerd Font.
3. Oh My Posh
winget install JanDeDobbeleer.OhMyPosh -s winget
Riavvia il terminale.
4. Config prompt in profilo PowerShell
notepad $PROFILE
Se apre "file non esiste" accetta la creazione. Incolla:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATHjandedobbeleer.omp.json" | Invoke-Expression
Chiudi e riapri il terminale: ora hai un prompt colorato con path, git branch, exec time.
5. Cambiare tema
Get-PoshThemes # anteprima di tutti i temi
oh-my-posh get shell # verifica shell
# Nel $PROFILE cambia il file .omp.json:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATHatomic.omp.json" | Invoke-Expression
Temi popolari: atomic, craver, powerlevel10k_rainbow, space.
6. Autocomplete stile Fish/zsh
Install-Module -Name PSReadLine -AllowPrerelease -Force
Install-Module -Name Terminal-Icons
Nel $PROFILE aggiungi:
Import-Module PSReadLine
Import-Module Terminal-Icons
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows
Ora ti suggerisce comandi dalla history mentre digiti, con lista dropdown.
7. Alias utili
# Nel $PROFILE
Set-Alias ll Get-ChildItem
Set-Alias grep Select-String
function .. { cd .. }
function ... { cd .... }
function gs { git status }
function gp { git pull }
8. Split panes e tab
- Alt+Shift+D duplica pane in orizzontale/verticale
- Ctrl+T nuovo tab, Ctrl+W chiudi
- Alt+Freccia naviga tra i pane
9. Profili multipli (PowerShell/WSL/CMD/SSH)
In Terminal > Impostazioni puoi definire profili diversi: uno per WSL Ubuntu, uno SSH al server, uno per PowerShell admin. Ognuno con proprio font, colori, working dir.