Sdílet prostřednictvím


Použití obslužných rutin klíčů PSReadLine

Modul PSReadLine poskytuje obslužné rutiny kláves, které mapují funkce PSReadLine do klávesových kombinací. Klávesové zkratky jsou posloupností jednoho nebo více klávesových úhorů, které jsou současně stisknuty. Například akord Ctrl+Mezerník je kombinací kláves Ctrl a Mezerníku, které se stisknou současně. Funkce PSReadLine je předdefinovaná akce, kterou lze provést na příkazovém řádku. MenuComplete Funkce například umožňuje vybrat si ze seznamu možností v nabídce a tím dokončit psaní na příkazovém řádku.

PSReadLine má několik předdefinovaných obslužných rutin klíčů, které jsou ve výchozím nastavení svázané. Můžete také definovat vlastní obslužné rutiny klíčů. Spuštěním následujícího příkazu zobrazte seznam popisovačů klíčů, které jsou aktuálně definované.

Get-PSReadLineKeyHandler

Můžete také získat seznam všech nevázaných funkcí PSReadLine , které jsou k dispozici pro vazbu s klíčovými chordy.

Get-PSReadLineKeyHandler -Unbound

Pomocí rutiny Set-PSReadLineKeyHandler můžete funkci přiřadit k obsluze klíče. Následující příkaz sváže MenuComplete funkci s akordem Ctrl+mezerník.

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

Hledání názvů tónin a vazeb akordů

Názvy klíčů v chordu odpovídají názvům v výčtu [System.ConsoleKey] . Další informace naleznete v dokumentaci System.ConsoleKey . Například název klávesy 2 je [System.ConsoleKey], zatímco název klávesy D2 na numerické klávesnici je . Pomocí [System.Console]::ReadKey() metody můžete najít název stisknuté klávesy.

[System.Console]::ReadKey()

Následující výstup ukazuje informace vrácené metodou ReadKey() pro klávesu Ctrl+2 akord.

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

Pro obslužné rutiny kláves PSReadLine je tato sekvence kláves reprezentována jako Ctrl+D2. Následující příklad sváže tento chord s funkcí.

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

Více kabelů můžete svázat s jednou funkcí. Ve výchozím nastavení BackwardDeleteChar je funkce svázaná se dvěma chordy.

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

Poznámka:

Parametr Chord je citlivý na malá a velká písmena. To znamená, že můžete vytvořit různé vazby pro Ctrl+X a Ctrl+x.

Ve Windows můžete také použít klávesu Alt+? a zobrazit funkci vázanou na další klávesový chord, který zadáte. Když zadáte alt+?, zobrazí se následující výzva:

what-is-key:

Když stisknete klávesu Backspace , zobrazí se následující odpověď:

Backspace: BackwardDeleteChar - Delete the character before the cursor

Klíčové obslužné rutiny na počítačích s jiným systémem než Windows

Kódy kláves vygenerované klávesnicí se můžou lišit v závislosti na operačním systému a terminálové aplikaci, kterou používáte.

macOS

Klávesnice Macintosh nemá klávesu Alt , jako jsou systémy Windows a Linux. Místo toho má klávesu ⌥ Option . macOS používá tento klíč jinak než klávesu Alt v jiných systémech. V systému macOS však můžete nakonfigurovat terminálové aplikace a aplikace iTerm2 tak, aby se s nimi chovali jako s klávesou Alt .

Konfigurace terminálové aplikace

Otevřete okno Nastavení na panelu aplikace v Terminal.app. Vyberte Profily a zvolte profil, který chcete nakonfigurovat. V možnostech konfigurace vyberte kartu Klávesnice . Pod seznamem klíčů vyberte možnost Použít jako nastavení metaklíče . Toto nastavení umožňuje, aby klávesa ⌥ Option fungovala jako alt v aplikaci Terminál.

Snímek obrazovky s nastavením Terminal.app

Konfigurace aplikace iTerm2

Otevřete okno Nastavení na panelu aplikací v iTerm.app. Vyberte Profily a zvolte profil, který chcete nakonfigurovat. Vyberte kartu Klíče v možnostech konfigurace. Vyberte možnost Esc+ pro nastavení levé klávesy Option i pravé klávesy Option. Toto nastavení umožňuje, aby klávesa ⌥ Option v aplikaci iTerm fungovala jako Alt .

Snímek obrazovky s nastavením iTerm.app

Poznámka:

Přesný postup se liší v závislosti na verzích macOS a terminálových aplikacích. Tyto příklady byly zachyceny v macOS Ventura 13.2.1 a iTerm2 v3.4.16.

Operační systém Linux

Na linuxových platformách může být kód vygenerovaný klíčem jiný než jiný systém. Například:

  • Ctrl+[ je stejná jako escape

  • Ctrl+Mezerník vygeneruje kódy kláves pro Ctrl+D2. Pokud chcete namapovat funkci na klávesu Ctrl+Mezerník, musíte použít akord Ctrl+D2.

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

ReadKey() Pomocí této metody ověřte kódy kláves vygenerované klávesnicí.

Běžně používané obslužné programy pro klávesy

Tady je několik běžně používaných obslužných rutin klíčů, které jsou ve Windows ve výchozím nastavení svázané. Klávesové zkratky se můžou lišit na platformách jiných než Windows.

Dokončete vstup výběrem z nabídky možných hodnot dokončení.

Výchozí akord: Ctrl+Spacebar

Následující příklad ukazuje nabídku možných dokončení příkazů začínajících .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

Pomocí kláves se šipkami vyberte požadované dokončení. Stisknutím klávesy Enter vstup dokončete. Při procházení výběrů se pod nabídkou zobrazí nápověda pro vybraný příkaz.

Vyčistit obrazovku

Tato funkce vymaže obrazovku podobně jako příkazy cls nebo clear.

Výchozí akord: Ctrl+l

SelectCommandArgument

Vybere další argument na příkazovém řádku.

Výchozí akord: Alt+a

V historii můžete mít příkaz, který chcete spustit znovu s různými hodnotami parametrů. Pomocí chordu můžete cyklicky procházet jednotlivé parametry a podle potřeby změnit hodnotu.

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

Stisknutím klávesy Alt+vyberete další argument parametru: myRGName, eastus, myVM.

GotoBrace

Přesune kurzor na odpovídající závorku.

Výchozí akord: Ctrl+]

Funkce GotoBrace přesune kurzor na uzavírací závorku, která odpovídá závorkě na běžné pozici kurzoru v příkazovém řádku. Funkce funguje pro hranaté závorky ([]), složené závorky ({}) a kulaté závorky (()).

Číselný argument

Začněte nebo nashromážděte číselný argument, který se používá k opakování stisknutí klávesy zadaného počtu opakování.

Výchozí akord: Alt+0 přes Alt+9

Například zadáním Klávesy Alt+4+# zadáte #### na příkazový řádek.

Viz také