Windows Terminal: personalizzazione
Windows Terminal è l’applicazione di Microsoft per la gestione dei terminali. In un’unica finestra puoi usare CMD, PowerShell, Bash e Cloud Shell, oltre a terminali remoti e sottosistemi Linux.
In questo articolo
- Font e aspetto di base
- Tema e colori personalizzati
- Moduli utili e profilo PowerShell
Approfondimenti correlati:
Questa guida utilizza PowerShell 7.x.
Prerequisiti
- Windows Terminal (su Windows 11 è preinstallato, su Windows 10 scaricarlo dallo store Microsoft)
- PowerShell 7.x.x
1. Installare Hack Nerd Font
Scaricare Hack Nerd Font dal repository GitHub ufficiale e installare tutti i font nella cartella
2. Configurazioni del terminale di base
1. Terminale di default
Impostare il terminale come terminale di default
2. Trasparenza del terminale
Andare su Impostazioni –> Aspetto –> Trasparenza e impostare un valore compreso tra 50% e 80%. Questo valore determina la trasparenza del terminale rispetto alle finestre sotto o allo sfondo del desktop.
3. Tema One Half Dark Modded
Aprire i file JSON delle configurazioni, cercare le impostazioni del tema One Half Dark e duplicare la sezione
Modificare il tema copiato come segue:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
{
"background": "#001B26",
"black": "#282C34",
"blue": "#61AFEF",
"brightBlack": "#5A6374",
"brightBlue": "#61AFEF",
"brightCyan": "#56B6C2",
"brightGreen": "#98C379",
"brightPurple": "#C678DD",
"brightRed": "#E06C75",
"brightWhite": "#DCDFE4",
"brightYellow": "#E5C07B",
"cursorColor": "#FFFFFF",
"cyan": "#56B6C2",
"foreground": "#DCDFE4",
"green": "#98C379",
"name": "One Half Dark Modded",
"purple": "#C678DD",
"red": "#E06C75",
"selectionBackground": "#FFFFFF",
"white": "#DCDFE4",
"yellow": "#E5C07B"
},
|
Attenzione alla virgola finale
Le configurazioni sono in un file JSON, se il tema si trova in mezzo ad altri temi mantenere la virgola. Se è l’ultimo tema rimuovere la virgola finale.
4. Impostare tema e font
Andare su impostazioni predefinite e impostare la combinazione colori “One Half Dark Modded”. Impostare nel “Tipo di carattere” il font Hack NF
3. Installare i moduli aggiuntivi
Lanciare il terminale come Amministratore. Lanciare ogni comando singolarmente.
Uso di NeoVim
Come editor di testo da terminale utilizzo NeoVim, è un editor snello e comodo. Richiede un po' di pratica. Se non vuoi usarlo, puoi creare i file con qualsiasi editor, mantenendo nomi e percorsi.
Per usare NeoVim (ed è la prima volta) bastano due comandi semplici.
Quando NeoVim è aperto, premi “i” per entrare in modalità inserimento. Quando hai terminato, premi “Esc” e digita “:wq” per salvare e chiudere.
1
2
3
4
5
6
7
8
9
10
11
12
|
# Installare Scoop (Command-line installer per Windows)
iwr -useb get.scoop.sh | iex
# Curl (Strumento da riga di comando per il trasferimento di dati)
scoop install curl sudo jq
# Se non è già installato installare Git
winget install -e --id Git.Git
# Neovim (Editor di testo da terminale)
scoop install neovim
|
Per la configurazione di base di NeoVim crea la cartella nvim:
1
2
3
4
5
|
# Creare la cartella
mkdir $HOME\AppData\Local\nvim
# Creare il file di configurazione di base
nvim $HOME\AppData\Local\nvim\init.vim
|
Nel file inserire:
1
2
3
4
5
6
7
|
:set number
:set autoindent
:set tabstop=4
:set shiftwidth=4
:set mouse=a
:set cursorline
:set clipboard=unnamed
|
4. Creare il profilo utente
Posizionarsi nello Home dell’utente corrente.
Creare il profilo utente che conterrà le configurazioni personalizzate.
1
2
3
4
5
6
7
|
# Creare la cartella powershell in .config (è la cartella di default che viene letta da PowerShell)
mkdir .config/powershell
# Creare il file user_profile.ps1 che conterrà le configurazioni
nvim .config/powershell/user_profile.ps1
# salvare il file vuoto e chiuderlo con ":wq"
|
Impostare il profilo appena creato come predefinito:
1
2
3
4
|
nvim $PROFILE.CurrentUserCurrentHost
# CONTENUTO DEL FILE PROFILE facendo attenzione a mettere il . iniziale!
. $env:USERPROFILE\.config\powershell\user_profile.ps1
|
5. Oh My Posh e Posh Git
Oh My Posh e Posh Git servono per creare la grafica con il percorso della cartella attuale (Oh My Posh) e il grafico del repository Git (Posh-Git).
1. Installare Posh-Git
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
|
Install-Module posh-git -Scope CurrentUser -Force
|
2. Installare Oh-My-Posh
Seguendo la guida ufficiale di Oh My Posh occorre:
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# Installare Oh-My-Posh
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
# Creare la cartella che conterrà i temi scaricati
mkdir .config\oh-my-posh
# Entrare nella cartella appena creata e scaricare il tema (può essere uno diverso, per vedere tutti i disponibili andare sul sito di Oh My Posh)
Set-Location $HOME\.config\oh-my-posh
curl --location --remote-name https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/night-owl.omp.json
# Tornare alla Home
Set-Location $HOME
|
6. Installare Terminal Icon
Installare Termila Icon che applicherà le icone alle cartelle e ai file quando si esplorano i contenuiti con “ls” o “Get-ChildItem”:
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
|
Install-module -Name Terminal-Icons -Repository PSGallery -Force
|
7. Installare modulo Z
Il modulo Z serve a navigare rapidamente il filesystem basandosi sui percorsi già usati con il comando cd
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
|
Install-module -Name Z -Force
|
8. Installare PsReadLine
PSReadLine fornisce la storia dei comandi utilizzati. Iniziando a scrivere un comando uscirà sotto alla riga di digitazione l’elenco degli ultimi comandi usati che iniziano con i testo digitato.
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
2
3
4
5
6
7
|
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
Set-PSReadLineOption -PredictionSource History
# Riavviare il terminale come amministratore prima di lanciare la seguente riga altrimenenti darà errore
Set-PSReadLineOption -PredictionViewStyle ListView
|
9. Installare Choco
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
|
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
10. Installare fzf
Fzf è un modulo per la ricerca di contenuti con Fuzzy.
In una console aperta come Amministratore lanciare ogni comando singolarmente:
1
2
3
|
choco install fzf
Install-Module -Name PSFzf -Scope CurrentUser -Force
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PSReadlineChordReverseHistory 'Ctrl+r'
|
11. user_profile.ps1
Aprire il file user_profile.ps1 creato in precedenza e inserire le configurazioni:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# Text
Write-Host "CUSTOM FUNCTIONS" -BackgroundColor Green
Write-Host "FUNCTIONS: which homestart updatepowershell"
Write-Host "PATH: home desktop src srctemp azure aws script"
# Promt
Import-Module posh-git
oh-my-posh.exe init pwsh --config "$HOME\.config\oh-my-posh\night-owl.omp.json"| Invoke-Expression
# Incons
Import-module -Name Terminal-Icons
# PSReadLine
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -BellStyle None
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
# Fzf
Import-Module PSFzf
Set-PsFzFOption -PSReadLineChordProvider 'Ctrl+f' -PSReadlineChordReverseHistory 'Ctrl+r'
# Alias
Set-Alias vim nvim
Set-Alias ll ls
Set-Alias g git
Set-Alias grep findstr
Set-Alias tig 'C:\Program Files\Git\usr\bin\tig.exe'
Set-Alias less 'C:\Program Files\Git\usr\bin\less.exe'
Set-Alias edge "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
Set-Alias vscode "$HOME\AppData\Local\Programs\Microsoft VS Code\Code.exe"
Set-Alias vs "$HOME\AppData\Local\Programs\Microsoft VS Code\Code.exe"
Set-Alias note "C:\Program Files\Notepad++\notepad++.exe"
# Utilities
function which ($command) {
Get-Command -Name $command -ErrorAction SylentlyContinue
Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
}
function Desktop {
Set-Location -Path "$HOME\Desktop"
}
function Home {
Set-Location -Path $HOME
}
function HomeStart {
Home
.config/powershell/user_profile.ps1
}
function Update-PowerShell {
winget search Microsoft.PowerShell
$Choice = Read-Host "Vuoi aggiornare? [Y] per continuare"
$Choice = $Choice.ToUpper()
If ($Choice -eq "Y") {
winget install Microsoft.PowerShell --source winget
}
}
|