Condividi tramite


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.