Set-PSReadLineKeyHandler
Associa le chiavi alle funzioni del gestore chiavi definite dall'utente o PSReadLine.
Sintassi
Set-PSReadLineKeyHandler
[-ScriptBlock] <ScriptBlock>
[-BriefDescription <String>]
[-Description <String>]
[-Chord] <String[]>
[-ViMode <ViMode>]
[<CommonParameters>]
Set-PSReadLineKeyHandler
[-Chord] <String[]>
[-ViMode <ViMode>]
[-Function] <String>
[<CommonParameters>]
Descrizione
Il Set-PSReadLineKeyHandler
cmdlet personalizza il risultato quando viene premuto un tasto o una sequenza di tasti. Con associazioni di chiavi definite dall'utente, è possibile eseguire quasi tutto ciò che è possibile dall'interno di uno script di PowerShell.
Esempio
Esempio 1: Associare il tasto freccia a una funzione
Questo comando associa il tasto freccia su alla funzione HistorySearchBackward . Questa funzione cerca la cronologia dei comandi per le righe di comando che iniziano con il contenuto corrente della riga di comando.
Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward
Esempio 2: Associare una chiave a un blocco di script
In questo esempio viene illustrato come usare una singola chiave per eseguire un comando. Il comando associa la chiave Ctrl+b
a un blocco di script che cancella la riga, inserisce la parola "build" e quindi accetta la riga.
Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
[Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
[Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}
Parametri
-BriefDescription
Breve descrizione dell'associazione di chiavi. Questa descrizione viene visualizzata dal Get-PSReadLineKeyHandler
cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Chord
Chiave o sequenza di chiavi da associare a una funzione o a un blocco di script. Usare una singola stringa per specificare un'unica associazione. Se l'associazione è una sequenza di chiavi, separare le chiavi in base a una virgola. ad esempio Ctrl+x,Ctrl+l
I riferimenti alla chiave di lettera vengono definiti usando lettere minuscole. Se si vuole definire un accordo che usa una lettera maiuscola, il coro deve includere il tasto Maiusc . Ad esempio, Ctrl+Shift+x
e Ctrl+x
creare associazioni diverse.
Questo parametro accetta una matrice di stringhe. Ogni stringa è un'associazione separata, non una sequenza di chiavi per un'unica associazione.
Type: | String[] |
Aliases: | Key |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Specifica una descrizione più dettagliata dell'associazione di chiavi visibile nell'output del Get-PSReadLineKeyHandler
cmdlet.
Type: | String |
Aliases: | LongDescription |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Function
Specifica il nome di un gestore di chiavi esistente fornito da PSReadLine. Questo parametro consente di ribintare le associazioni di chiavi esistenti o di associare un gestore attualmente in uscita.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
Specifica un valore del blocco di script da eseguire quando viene immesso il accordo. PSReadLine passa uno o due parametri a questo blocco di script. Il primo parametro è un oggetto ConsoleKeyInfo che rappresenta il tasto premuto. Il secondo argomento può essere qualsiasi oggetto a seconda del contesto.
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ViMode
Specificare la modalità vi a cui si applica l'associazione.
I valori validi sono:
Insert
Command
Type: | ViMode |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Non è possibile eseguire la pipe degli oggetti a questo cmdlet.
Output
None
Questo cmdlet non restituisce output.