Set-PSReadLineKeyHandler

Wiąże klucze z funkcjami obsługi kluczy zdefiniowanymi przez użytkownika lub PSReadLine.

Składnia

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

Opis

Polecenie Set-PSReadLineKeyHandler cmdlet dostosowuje wynik po naciśnięciu klawisza lub sekwencji klawiszy. W przypadku powiązań kluczy zdefiniowanych przez użytkownika można wykonać niemal wszystko, co jest możliwe w skryscie programu PowerShell.

Przykłady

Przykład 1. Powiązanie klawisza strzałki z funkcją

To polecenie wiąże klawisz strzałki w górę z funkcją HistorySearchBackward . Ta funkcja wyszukuje historię poleceń wierszy polecenia rozpoczynających się od bieżącej zawartości wiersza polecenia.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

Przykład 2. Powiązanie klucza z blokiem skryptu

W tym przykładzie pokazano, jak można użyć pojedynczego klucza do uruchomienia polecenia. Polecenie wiąże klucz Ctrl+b z blokiem skryptu, który czyści wiersz, wstawia słowo "build", a następnie akceptuje wiersz.

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

Parametry

-BriefDescription

Krótki opis powiązania klucza. Ten opis jest wyświetlany przez Get-PSReadLineKeyHandler polecenie cmdlet .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Chord

Klucz lub sekwencja kluczy, które mają być powiązane z funkcją lub blokiem skryptu. Użyj jednego ciągu, aby określić pojedyncze powiązanie. Jeśli powiązanie jest sekwencją kluczy, należy oddzielić klucze przecinkami. Na przykład: Ctrl+x,Ctrl+l.

Odwołania do klucza litery są definiowane przy użyciu małych liter. Jeśli chcesz zdefiniować akord, który używa wielkiej litery, akord musi zawierać klawisz Shift . Na przykład Ctrl+Shift+x i Ctrl+x utwórz różne powiązania.

Ten parametr akceptuje tablicę ciągów. Każdy ciąg jest oddzielnym powiązaniem, a nie sekwencją kluczy dla pojedynczego powiązania.

Type:String[]
Aliases:Key
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Description

Określa bardziej szczegółowy opis powiązania klucza widocznego w danych wyjściowych Get-PSReadLineKeyHandler polecenia cmdlet.

Type:String
Aliases:LongDescription
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Function

Określa nazwę istniejącej procedury obsługi kluczy dostarczonej przez program PSReadLine. Ten parametr umożliwia ponowne powiązanie istniejących powiązań kluczy lub powiązanie procedury obsługi, która jest obecnie niezwiązana.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptBlock

Określa wartość bloku skryptu do uruchomienia po wprowadzeniu akordu. Funkcja PSReadLine przekazuje jeden lub dwa parametry do tego bloku skryptu. Pierwszy parametr to obiekt ConsoleKeyInfo reprezentujący naciśnięty klawisz. Drugi argument może być dowolnym obiektem w zależności od kontekstu.

Type:ScriptBlock
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ViMode

Określ tryb vi, do którego ma zastosowanie powiązanie.

Prawidłowe wartości to:

  • Insert
  • Command
Type:ViMode
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych.