Uso dei gestori di chiavi PSReadLine
Il modulo PSReadLine fornisce gestori di tasti che eseguono il mapping delle funzioni PSReadLine agli accordi da tastiera. Gli accordi della tastiera sono una sequenza di una o più sequenze di tasti premuti contemporaneamente.
Ad esempio, la barra spaziatrice CTRL+con accordi è la combinazione dei tasti CTRL e barra spaziatrice premuti contemporaneamente. Una funzione PSReadLine è un'azione predefinita che può essere eseguita su una riga di comando. Ad esempio, la MenuComplete
funzione consente di scegliere da un elenco di opzioni da un menu completare l'input nella riga di comando.
PSReadLine include diversi gestori di chiavi predefiniti associati per impostazione predefinita. È anche possibile definire gestori di chiavi personalizzati. Eseguire il comando seguente per elencare i gestori di tasti attualmente definiti.
Get-PSReadLineKeyHandler
È anche possibile ottenere un elenco di tutte le funzioni PSReadLine non associate che sono disponibili per essere associate a un accordo chiave.
Get-PSReadLineKeyHandler -Unbound
È possibile usare il Set-PSReadLineKeyHandler
cmdlet per associare una funzione a un gestore di chiavi. Il comando seguente associa la MenuComplete
funzione alla barra spaziatrice CTRL+con accordi.
Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete
Ricerca di nomi chiave e associazioni di accordi
I nomi delle chiavi nell'accordo sono definiti dall'enumerazione [System.ConsoleKey]
. Per altre informazioni, vedere la documentazione di System.ConsoleKey . Ad esempio, il nome del tasto 2 in [System.ConsoleKey]
è D2
, mentre il nome del tasto 2 nel tastierino numerico è NumPad2
. È possibile usare il [System.Console]::ReadKey()
metodo per trovare il nome del tasto premuto.
[System.Console]::ReadKey()
L'output seguente mostra le informazioni restituite dal ReadKey()
metodo per il tasto CTRL+2 accordo.
KeyChar Key Modifiers
------- --- ---------
D2 Control
Per i cmdlet del gestore delle chiavi PSReadLine , questo accordo viene rappresentato come Ctrl+D2
. L'esempio seguente associa questo accordo a una funzione.
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
È possibile associare più cavi a una singola funzione. Per impostazione predefinita, la BackwardDeleteChar
funzione è associata a due accordi.
Get-PSReadLineKeyHandler -Chord Backspace, Ctrl+h
Key Function Description
--- -------- -----------
Backspace BackwardDeleteChar Delete the character before the cursor
Ctrl+h BackwardDeleteChar Delete the character before the cursor
Nota
Il parametro Chord fa distinzione tra maiuscole e minuscole. Ciò significa che è possibile creare associazioni diverse per CTRL X e CTRL++X.
In Windows è anche possibile usare il tasto ALT+? per visualizzare la funzione associata al tasto successivo che si immette. Quando si digita ALT+? viene visualizzato il prompt seguente:
what-is-key:
Quando si raggiunge il tasto Backspace si ottiene la risposta seguente:
Backspace: BackwardDeleteChar - Delete the character before the cursor
Gestori delle chiavi nei computer non Windows
I codici dei tasti generati dalla tastiera possono essere diversi a seconda del sistema operativo e dell'applicazione terminale in uso.
macOS
La tastiera Macintosh non ha un tasto ALT come i sistemi Windows e Linux. Ha invece il tasto di opzione ⌥. macOS usa questa chiave in modo diverso rispetto al tasto ALT in altri sistemi. Tuttavia, è possibile configurare il terminale e le applicazioni iTerm2 in macOS per considerarlo come un tasto ALT .
Configurazione dell'applicazione Terminale
Aprire la finestra Impostazioni dalla barra dell'app in Terminal.app. Selezionare Profili e scegliere il profilo da configurare. Selezionare la scheda Tastiera delle opzioni di configurazione. Sotto l'elenco di chiavi selezionare l'impostazione Usa opzione come metachiavi . Questa impostazione consente al tasto di opzione ⌥ di agire come ALT nell'applicazione Terminale.
Configurazione dell'applicazione iTerm2
Aprire la finestra Impostazioni dalla barra dell'app in iTerm.app. Selezionare Profili e scegliere il profilo da configurare. Selezionare la scheda Chiavi delle opzioni di configurazione. Selezionare l'opzione ESC+ per le impostazioni Chiave opzione sinistra e Tasto opzione destra. Questa impostazione consente al tasto di opzione ⌥ di fungere da ALT nell'applicazione iTerm.
Nota
I passaggi esatti possono variare a seconda delle versioni di macOS e delle applicazioni del terminale. Questi esempi sono stati acquisiti in macOS Ventura 13.2.1 e iTerm2 v3.4.16.
Linux
Nelle piattaforme Linux il codice chiave generato può essere diverso da altri sistemi. Ad esempio:
CTRL+[ è uguale a Escape
Ctrl+Barra spaziatrice genera i codici dei tasti per CTRL+D2. Se si desidera eseguire il mapping di una funzione CTRL+barra spaziatrice, è necessario usare l'accordo .
Ctrl+D2
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Usare il ReadKey()
metodo per verificare i codici dei tasti generati dalla tastiera.
Gestori di chiavi di uso comune
Ecco alcuni gestori di chiavi comunemente usati associati per impostazione predefinita in Windows. Si noti che l'associazione di tasti può essere diversa nelle piattaforme non Windows.
MenuComplete
Completare l'input selezionando da un menu di possibili valori di completamento.
Accordo predefinito: Ctrl+Spacebar
Nell'esempio seguente viene illustrato il menu dei possibili completamenti per i comandi che iniziano con select
.
PS C:\> select<Ctrl+Spacebar>
select Select-Object Select-PSFPropertyValue Select-Xml
Select-AzContext Select-PSFConfig Select-PSMDBuildProject
Select-AzSubscription Select-PSFObject Select-String
Select-Object
Usare i tasti di direzione per selezionare il completamento desiderato. Premere INVIO per completare l'input. Durante lo spostamento tra le selezioni, la Guida per il comando selezionato viene visualizzata sotto il menu.
ClearScreen
Questa funzione cancella la schermata simile ai cls
comandi o clear
.
Accordo predefinito: Ctrl+l
SelezionareCommandArgument
Seleziona l'argomento successivo nella riga di comando.
Accordo predefinito: Alt+a
È possibile che nella cronologia sia presente un comando che si vuole eseguire di nuovo con valori di parametro diversi. È possibile usare l'accordo per scorrere ogni parametro e modificare il valore in base alle esigenze.
New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM
Premendo ALT+viene selezionato l'argomento parametro successivo a sua volta: myRGName
, eastus
, . myVM
GotoBrace
Sposta il cursore sulla parentesi graffa corrispondente.
Accordo predefinito: Ctrl+]
Questa funzione sposta il cursore sulla parentesi graffa di chiusura corrispondente alla parentesi graffa nella posizione corrente del cursore sulla riga di comando. La funzione funziona per parentesi quadre ([]
), parentesi graffe ({}
) e parentesi, (()
).
DigitArgument
Avviare o accumulare un argomento numerico per ripetere una sequenza di tasti il numero di volte specificato.
Accordo predefinito: Alt+0
through Alt+9
Ad esempio, digitando ALT+4#+ viene immesso ####
nella riga di comando.