Delen via


Set-PSReadLineKeyHandler

Hiermee worden sleutels gekoppeld aan door de gebruiker gedefinieerde of PSReadLine-sleutelhandlerfuncties.

Syntaxis

Set-PSReadLineKeyHandler
   [-ScriptBlock] <ScriptBlock>
   [-BriefDescription <String>]
   [-Description <String>]
   [-Chord] <String[]>
   [-ViMode <ViMode>]
   [<CommonParameters>]
Set-PSReadLineKeyHandler
   [-Chord] <String[]>
   [-ViMode <ViMode>]
   [-Function] <String>
   [<CommonParameters>]

Description

De Set-PSReadLineKeyHandler cmdlet past het resultaat aan wanneer een toets of reeks sleutels wordt ingedrukt. Met door de gebruiker gedefinieerde sleutelbindingen kunt u vrijwel alles doen wat mogelijk is vanuit een PowerShell-script.

Voorbeelden

Voorbeeld 1: De pijltoets verbinden met een functie

Met deze opdracht wordt de pijl-omhoog gekoppeld aan de functie HistorySearchBackward . Met deze functie wordt in de opdrachtgeschiedenis gezocht naar opdrachtregels die beginnen met de huidige inhoud van de opdrachtregel.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

Voorbeeld 2: Een sleutel binden aan een scriptblok

In dit voorbeeld ziet u hoe één sleutel kan worden gebruikt om een opdracht uit te voeren. De opdracht verbindt de sleutel Ctrl+b met een scriptblok waarmee de regel wordt gewist, het woord 'build' wordt ingevoegd en de regel wordt geaccepteerd.

Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
    [Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
    [Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
    [Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}

Parameters

-BriefDescription

Een korte beschrijving van de sleutelbinding. Deze beschrijving wordt weergegeven door de Get-PSReadLineKeyHandler cmdlet.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Chord

De sleutel of reeks sleutels die moeten worden gebonden aan een functie- of scriptblok. Gebruik één tekenreeks om één binding op te geven. Als de binding een reeks sleutels is, scheidt u de sleutels door een komma. Bijvoorbeeld: Ctrl+x,Ctrl+l

Sleutelverwijzingen voor letters worden gedefinieerd met kleine letters. Als u een akkoord wilt definiëren dat een hoofdletter gebruikt, moet het akkoord de Shift-toets bevatten. En maak bijvoorbeeld Ctrl+Shift+x Ctrl+x verschillende bindingen.

Deze parameter accepteert een matrix met tekenreeksen. Elke tekenreeks is een afzonderlijke binding, geen reeks sleutels voor één binding.

Type:String[]
Aliassen:Key
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Description

Hiermee geeft u een gedetailleerdere beschrijving op van de sleutelbinding die zichtbaar is in de uitvoer van de Get-PSReadLineKeyHandler cmdlet.

Type:String
Aliassen:LongDescription
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Function

Hiermee geeft u de naam op van een bestaande sleutelhandler die wordt geleverd door PSReadLine. Met deze parameter kunt u bestaande sleutelbindingen opnieuw koppelen of een handler binden die momenteel niet-afhankelijk is.

Type:String
Position:1
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ScriptBlock

Hiermee geeft u een scriptblokwaarde op die moet worden uitgevoerd wanneer het akkoord wordt ingevoerd. PSReadLine geeft één of twee parameters door aan dit scriptblok. De eerste parameter is een ConsoleKeyInfo-object dat de toets aangeeft die is ingedrukt. Het tweede argument kan elk object zijn, afhankelijk van de context.

Type:ScriptBlock
Position:1
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ViMode

Geef op op welke vi-modus de binding van toepassing is.

Geldige waarden zijn:

  • Insert
  • Command
Type:ViMode
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.