Sdílet prostřednictvím


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

Modul PSReadLine poskytuje klíčové obslužné rutiny, které mapuje funkce PSReadLine na klávesové zkratky. Klávesové zkratky jsou posloupností jednoho nebo více klávesových úhorů, které jsou současně stisknuty. Mezerník s klávesami Ctrl +je například 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í z nabídky dokončení vstupu 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 svázat funkci s obslužnou rutinou klíče. Následující příkaz sváže MenuComplete funkci s mezerníkem ctrl+.

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

Hledání názvů klíčů a vazeb s chordy

Názvy klíčů v chordu jsou definovány výčtem [System.ConsoleKey] . Další informace naleznete v dokumentaci System.ConsoleKey . Například název klíče 2 je D2[System.ConsoleKey] , zatímco název 2 klávesy na numerické klávesnici je NumPad2. 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 rutiny obslužné rutiny klíče PSReadLine je tento chord reprezentován 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 rozlišují 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. Po zadání klávesy Alt+ se zobrazí 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í z 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í z 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í klávesy Šipka vlevo i Klávesa vpravo. 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 může lišit 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.

Linux

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

  • Ctrl+[ je stejná jako escape

  • Klávesová zkratka Ctrl D2+ vygeneruje kódy+ kláves. Pokud chcete namapovat funkci Ctrl+Mezerník, musíte použít chord .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é rutiny klíčů

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é. Mějte na paměti, že vazba klíče se může 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í chord: 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.

ClearScreen

Tato funkce vymaže obrazovku podobnou příkazům cls nebo clear příkazům.

Výchozí chord: Ctrl+l

SelectCommandArgument

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

Výchozí chord: 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í složenou závorku.

Výchozí chord: Ctrl+]

Tato funkce přesune kurzor na pravou složenou závorku, která odpovídá složené závorce na aktuální pozici kurzoru na příkazovém řádku. Funkce funguje pro závorky ([]), složené závorky ({}) a závorky (()).

DigitArgument

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

Výchozí chord: Alt+0 prostřednictvím Alt+9

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

Viz také