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 lub sekwencji. 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 strzałki z funkcją
To polecenie wiąże 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 .
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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ć 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.
Typ: | String[] |
Aliasy: | Key |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Określa bardziej szczegółowy opis powiązania klucza widocznego w danych wyjściowych Get-PSReadLineKeyHandler
polecenia cmdlet.
Typ: | String |
Aliasy: | LongDescription |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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. Drugi argument może być dowolnym obiektem w zależności od kontekstu.
Typ: | ScriptBlock |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ViMode
Określ tryb vi, do którego ma zastosowanie powiązanie.
Prawidłowe wartości to:
Insert
Command
Typ: | ViMode |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.