Dela via


Set-PSReadLineKeyHandler

Binder nycklar till användardefinierade eller PSReadLine-nyckelhanterarfunktioner.

Syntax

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

Description

Cmdleten Set-PSReadLineKeyHandler anpassar resultatet när en nyckel eller sekvens med nycklar trycks in. Med användardefinierade nyckelbindningar kan du göra nästan allt som är möjligt inifrån ett PowerShell-skript.

Exempel

Exempel 1: Binda piltangenten till en funktion

Det här kommandot binder uppåtpilen till funktionen HistorySearchBackward . Den här funktionen söker i kommandohistoriken efter kommandorader som börjar med det aktuella innehållet på kommandoraden.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

Exempel 2: Binda en nyckel till ett skriptblock

Det här exemplet visar hur en enskild nyckel kan användas för att köra ett kommando. Kommandot binder nyckeln Ctrl+b till ett skriptblock som rensar raden, infogar ordet "build" och accepterar sedan raden.

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

Parametrar

-BriefDescription

En kort beskrivning av nyckelbindningen. Den här beskrivningen visas av cmdleten Get-PSReadLineKeyHandler .

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Chord

Nyckeln eller sekvensen med nycklar som ska bindas till en funktion eller ett skriptblock. Använd en enda sträng för att ange en enda bindning. Om bindningen är en sekvens med nycklar separerar du nycklarna med ett kommatecken. Till exempel: Ctrl+x,Ctrl+l

Brevnyckelreferenser definieras med gemener. Om du vill definiera ett ackord som använder en versal bokstav måste ackordet innehålla Skift-nyckeln . Till exempel Ctrl+Shift+x och Ctrl+x skapa olika bindningar.

Den här parametern accepterar en matris med strängar. Varje sträng är en separat bindning, inte en sekvens med nycklar för en enda bindning.

Typ:String[]
Alias:Key
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Description

Anger en mer detaljerad beskrivning av nyckelbindningen som visas i utdata från cmdleten Get-PSReadLineKeyHandler .

Typ:String
Alias:LongDescription
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Function

Anger namnet på en befintlig nyckelhanterare som tillhandahålls av PSReadLine. Med den här parametern kan du koppla om befintliga nyckelbindningar eller binda en hanterare som för närvarande är obundna.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ScriptBlock

Anger ett skriptblockvärde som ska köras när ackordet anges. PSReadLine skickar en eller två parametrar till det här skriptblocket. Den första parametern är ett ConsoleKeyInfo-objekt som representerar den tangent som trycks in. Det andra argumentet kan vara valfritt objekt beroende på kontexten.

Typ:ScriptBlock
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ViMode

Ange vilket vi-läge bindningen gäller för.

Giltiga värden är:

  • Insert
  • Command
Typ:ViMode
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.