Använda PSReadLine-nyckelhanterare
PSReadLine-modulen innehåller nyckelhanterare som mappar PSReadLine-funktioner till tangentbordsackord. Tangentbordsackord är en sekvens med en eller flera tangenttryckningar som trycks på samtidigt.
Till exempel är ackordet Ctrl+Blankstegslist kombinationen av tangenterna Ctrl och Blanksteg samtidigt. En PSReadLine-funktion är en fördefinierad åtgärd som kan utföras på en kommandorad. Med funktionen kan du till exempel MenuComplete
välja från en lista med alternativ från en meny och fylla i indata på kommandoraden.
PSReadLine har flera fördefinierade nyckelhanterare som är bundna som standard. Du kan också definiera dina egna anpassade nyckelhanterare. Kör följande kommando för att visa en lista över de nyckelhanterare som för närvarande är definierade.
Get-PSReadLineKeyHandler
Du kan också hämta en lista över alla obundna PSReadLine-funktioner som är tillgängliga för bindning till ett nyckelackord.
Get-PSReadLineKeyHandler -Unbound
Du kan använda cmdleten Set-PSReadLineKeyHandler
för att binda en funktion till en nyckelhanterare. Följande kommando binder MenuComplete
funktionen till ackordet Ctrl+Blanksteg.
Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete
Hitta nyckelnamn och ackordbindningar
Namnen på nycklarna i ackordet definieras av [System.ConsoleKey]
uppräkningen. Mer information finns i Dokumentation om System.ConsoleKey . Namnet på 2-nyckeln i är till exempel , medan namnet på 2-nyckeln på den numeriska knappsatsen är NumPad2
.D2
[System.ConsoleKey]
Du kan använda [System.Console]::ReadKey()
metoden för att hitta namnet på den nyckel som du tryckte på.
[System.Console]::ReadKey()
Följande utdata visar den information som returneras av ReadKey()
metoden för Ctrl+2-nyckelackordet.
KeyChar Key Modifiers
------- --- ---------
D2 Control
För PSReadLine-nyckelhanterar-cmdletar representeras det här ackordet som Ctrl+D2
. Följande exempel binder det här ackordet till en funktion.
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Du kan binda flera sladdar till en enda funktion. Som standard BackwardDeleteChar
är funktionen bunden till två ackord.
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
Kommentar
Chord-parametern är skiftlägeskänslig. Det innebär att du kan skapa olika bindningar för Ctrl+X och Ctrl+x.
I Windows kan du också använda Alt+?-nyckelackordet för att visa funktionen bunden till nästa nyckelackord som du anger. När du skriver Alt+? visas följande fråga:
what-is-key:
När du trycker på backstegsnyckeln får du följande svar:
Backspace: BackwardDeleteChar - Delete the character before the cursor
Nyckelhanterare på datorer som inte är Windows-datorer
De nyckelkoder som genereras av tangentbordet kan vara olika beroende på vilket operativsystem och terminalprogram du använder.
macOS
Macintosh-tangentbordet har ingen Alt-nyckel som Windows- och Linux-system. I stället har den nyckeln ⌥ Alternativ . macOS använder den här nyckeln på ett annat sätt än Alt-nyckeln i andra system. Du kan dock konfigurera terminal- och iTerm2-program på macOS för att behandla den som en Alt-nyckel .
Konfigurera Terminal-programmet
Öppna fönstret Inställningar från appfältet i Terminal.app. Välj Profiler och välj den profil som du vill konfigurera. Välj fliken Tangentbord för konfigurationsalternativen. Under listan med nycklar väljer du inställningen Använd alternativ som metanyckel . Med den här inställningen kan alternativnyckeln ⌥ fungera som Alt i terminalprogrammet.
Konfigurera iTerm2-programmet
Öppna fönstret Inställningar från appfältet i iTerm.app. Välj Profiler och välj den profil som du vill konfigurera. Välj fliken Nycklar i konfigurationsalternativen. Välj alternativet Esc+ för både inställningarna Vänster alternativnyckel och Höger alternativnyckel. Med den här inställningen kan alternativnyckeln ⌥ fungera som Alt i iTerm-programmet.
Kommentar
De exakta stegen kan variera beroende på versionerna av macOS och terminalprogrammen. Dessa exempel fångades på macOS Ventura 13.2.1 och iTerm2 v3.4.16.
Linux
På Linux-plattformar kan nyckelkoden som genereras skilja sig från andra system. Till exempel:
Ctrl+[ är samma som Escape
Ctrl+Blanksteg genererar nyckelkoderna för Ctrl+D2. Om du vill mappa en funktion Ctrl-blanksteg+ måste du använda ackordet .
Ctrl+D2
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
ReadKey()
Använd metoden för att verifiera de nyckelkoder som genereras av tangentbordet.
Vanliga nyckelhanterare
Här är några vanliga nyckelhanterare som är bundna som standard i Windows. Observera att nyckelbindningen kan skilja sig på andra plattformar än Windows.
MenuComplete
Slutför indata genom att välja från en meny med möjliga slutförandevärden.
Standardackord: Ctrl+Spacebar
I följande exempel visas menyn med möjliga slutföranden för kommandon som börjar med 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
Använd piltangenterna för att välja det slutförande du vill ha. Tryck på Retur för att slutföra indata. När du går igenom valen visas hjälpen för det valda kommandot under menyn.
ClearScreen
Den här funktionen rensar skärmen som liknar cls
kommandona eller clear
.
Standardackord: Ctrl+l
SelectCommandArgument
Väljer nästa argument på kommandoraden.
Standardackord: Alt+a
Du kan ha ett kommando i historiken som du vill köra igen med olika parametervärden. Du kan använda ackordet för att bläddra igenom varje parameter och ändra värdet efter behov.
New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM
Om du trycker på Alt+a väljs nästa parameterargument i tur och ordning: myRGName
, eastus
, . myVM
GotoBrace
Flyttar markören till matchande klammerparentes.
Standardackord: Ctrl+]
Den här funktionen flyttar markören till den avslutande klammerparentesen som matchar klammerparentesen vid den aktuella markörpositionen på kommandoraden. Funktionen fungerar för hakparenteser ([]
), klammerparenteser ({}
) och parenteser, (()
).
DigitArgument
Starta eller ackumulera ett numeriskt argument som används för att upprepa ett tangenttryckning det angivna antalet gånger.
Standardackord: Alt+0
via Alt+9
Om du till exempel skriver Alt+4#+ anges ####
på kommandoraden.