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 toetsen 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 vervolgens 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. Ctrl+Shift+x en Ctrl+x bijvoorbeeld verschillende bindingen maken.

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 gedetailleerde beschrijving 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 vertegenwoordigt die wordt 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.