Udostępnij za pomocą


Korzystanie z obsługi klawiszy PSReadLine

Moduł PSReadLine zawiera procedury obsługi klawiszy, które mapują funkcje PSReadLine na kombinacje klawiszy. Akordy klawiaturowe są sekwencją co najmniej jednego naciśnięcia w tym samym czasie. Na przykład akord Ctrl+Spacja jest kombinacją Ctrl i Spacja naciśniętych jednocześnie. Funkcja PSReadLine to wstępnie zdefiniowana akcja, którą można wykonać w wierszu polecenia. Na przykład funkcja MenuComplete pozwala wybrać jedną z opcji dostępnych w menu, aby uzupełnić dane wejściowe w wierszu polecenia.

Funkcja PSReadLine ma kilka wstępnie zdefiniowanych procedur obsługi kluczy, które są domyślnie powiązane. Możesz również zdefiniować własne niestandardowe procedury obsługi kluczy. Uruchom następujące polecenie, aby wyświetlić listę aktualnie zdefiniowanych procedur obsługi kluczy.

Get-PSReadLineKeyHandler

Możesz również uzyskać listę wszystkich niezwiązanych funkcji PSReadLine , które są dostępne do powiązania z akordem klucza.

Get-PSReadLineKeyHandler -Unbound

Możesz użyć cmdlet Set-PSReadLineKeyHandler, aby powiązać funkcję z procedurą obsługi klawiatury. Następujące polecenie wiąże MenuComplete funkcję z akordem Ctrl+Spacja.

Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete

Znajdowanie nazw kluczy i powiązań akordowych

Nazwy kluczy w akordzie są zgodne z nazwami w enumeracji [System.ConsoleKey]. Aby uzyskać więcej informacji, zobacz dokumentację System.ConsoleKey . Na przykład nazwa 2 klucza w [System.ConsoleKey] pliku to D2, natomiast nazwa 2 klucza na klawiaturze liczbowej to NumPad2. Możesz użyć metody [System.Console]::ReadKey(), aby znaleźć nazwę naciśniętego klawisza.

[System.Console]::ReadKey()

Poniższy wynik przedstawia informacje zwrócone metodą ReadKey() dla akordu klawiszy Ctrl+2.

KeyChar Key Modifiers
------- --- ---------
        D2   Control

W przypadku poleceń cmdlet programu obsługi kluczy PSReadLine ten akord jest reprezentowany jako Ctrl+D2. Poniższy przykład wiąże ten akord z funkcją.

Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete

Można powiązać wiele przewodów z jedną funkcją. Domyślnie BackwardDeleteChar funkcja jest powiązana z dwoma akordami.

Get-PSReadLineKeyHandler -Chord Backspace, Ctrl+h
Key       Function           Description
---       --------           -----------
Backspace BackwardDeleteChar Delete the character before the cursor
Ctrl+h    BackwardDeleteChar Delete the character before the cursor

Uwaga / Notatka

W parametrze Chordjest uwzględniana wielkość liter. Oznacza to, że można tworzyć różne powiązania dla kombinacji Ctrl+X i Ctrl+x.

W systemie Windows możesz również użyć akordu Alt+? , aby wyświetlić funkcję powiązaną z następnym akordem wprowadzonym. Podczas wpisywania alt+?, zostanie wyświetlony następujący monit:

what-is-key:

Po naciśnięciu Backspace otrzymasz następującą odpowiedź:

Backspace: BackwardDeleteChar - Delete the character before the cursor

Programy obsługi kluczy na komputerach spoza systemu Windows

Kody generowane przez klawiaturę mogą być różne w zależności od używanej aplikacji systemu operacyjnego i terminalu.

macOS

Klawiatura Macintosh nie ma klawisza Alt jak systemy Windows i Linux. Zamiast tego ma on klucz ⌥ Opcja . System macOS używa tego klucza inaczej niż Alt w innych systemach. Można jednak skonfigurować terminal i aplikacje iTerm2 w systemie macOS, aby traktowały klawisz jako Alt.

Konfigurowanie aplikacji terminalowej

Otwórz okno Ustawienia na pasku aplikacji w Terminal.app. Wybierz pozycję Profile i wybierz profil, który chcesz skonfigurować. Wybierz kartę Klawiatura opcji konfiguracji. Poniżej listy kluczy wybierz ustawienie Użyj opcji jako metaklucze . To ustawienie umożliwia, aby klawisz Opcji ⌥ działał jako Alt w aplikacji Terminal.

Zrzut ekranu przedstawiający ustawienia Terminal.app.

Konfigurowanie aplikacji iTerm2

Otwórz okno Ustawienia na pasku aplikacji w iTerm.app. Wybierz pozycję Profile i wybierz profil, który chcesz skonfigurować. Wybierz kartę Klucze opcji konfiguracji. Wybierz opcję Esc+ dla ustawień zarówno dla lewego klawisza Option, jak i prawego klawisza Option. To ustawienie umożliwia użycie klawisza ⌥ Option jako Alt w aplikacji iTerm.

Zrzut ekranu przedstawiający ustawienia iTerm.app.

Uwaga / Notatka

Dokładne kroki różnią się w zależności od wersji systemu macOS i aplikacji terminalowych. Te przykłady zostały przechwycone w systemach macOS Ventura 13.2.1 i iTerm2 w wersji 3.4.16.

Linux

Na platformach Linux wygenerowany kod klucza może być inny niż w innych systemach. Przykład:

  • Ctrl+[ jest takie samo jak Escape

  • Ctrl+Spacja generuje kody ctrl+D2. Jeśli chcesz przypisać funkcję do Ctrl+Spacja, musisz użyć kombinacji klawiszy Ctrl+D2.

    Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
    

ReadKey() Użyj metody , aby zweryfikować kody wygenerowane przez klawiaturę.

Często używane programy obsługi kluczy

Poniżej przedstawiono kilka często używanych procedur obsługi kluczy, które są domyślnie powiązane w systemie Windows. Powiązania kluczy mogą być różne na platformach innych niż Windows.

Wypełnij dane wejściowe, wybierając z menu możliwych wartości uzupełniania.

Domyślny akord: Ctrl+Spacebar

W poniższym przykładzie przedstawiono menu możliwych uzupełniania poleceń rozpoczynających się od select.

PS C:\> select<Ctrl+Spacebar>
select                   Select-Object            Select-PSFPropertyValue  Select-Xml
Select-AzContext         Select-PSFConfig         Select-PSMDBuildProject
Select-AzSubscription    Select-PSFObject         Select-String

Select-Object

Użyj strzałek, aby wybrać żądane ukończenie. Naciśnij Enter , aby ukończyć dane wejściowe. Podczas przechodzenia przez wybrane opcje pomoc dla wybranego polecenia jest wyświetlana poniżej menu.

ClearScreen

Ta funkcja czyści ekran podobnie jak polecenia cls lub clear.

Domyślny akord: Ctrl+l

Wybierz pozycjęCommandArgument

Wybiera następny argument w wierszu polecenia.

Domyślny akord: Alt+a

Możesz mieć polecenie w historii, które chcesz uruchomić ponownie z różnymi wartościami parametrów. Możesz użyć akordu, aby przejść przez każdy parametr i zmienić wartość zgodnie z potrzebami.

New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM

Naciśnięcie Alt+a powoduje wybranie kolejnego parametru: myRGName, eastus, myVM.

GotoBrace

Przenosi kursor do pasującego nawiasu.

Domyślny akord: Ctrl+]

Funkcja GotoBrace przenosi kursor do zamykającego nawiasu klamrowego, który pasuje do nawiasu klamrowego w bieżącym położeniu kursora w wierszu polecenia. Funkcja działa dla nawiasów kwadratowych ([]), nawiasów klamrowych ({}) i nawiasów (()).

Argument cyfrowy

Rozpocznij lub zakumuluj argument liczbowy, który jest używany do powtarzania naciśnięcia określoną liczbę razy.

Domyślny akord: Alt+0 przez Alt+9

Na przykład wpisywanie Alt+4+# wprowadza #### w wiersz poleceń.

Zobacz także