Verwenden von PSReadLine-Tastenzuordnungen
Das PSReadLine-Modul stellt Tastenhandler bereit, die PSReadLine-Funktionen Tastenkombinationen zuordnen. Tastenkombinationen sind eine Sequenz mehrerer gleichzeitiger Tastaturanschläge.
Beispielsweise ist die Tastenkombination STRG+LEERTASTE die Kombination aus gleichzeitigem Anschlag von STRG-Taste und LEERTASTE. Eine PSReadLine-Funktion ist eine vordefinierte Aktion, die über eine Befehlszeile ausgeführt werden kann. Mit der MenuComplete
-Funktion können Sie beispielsweise eine Auswahl aus einer Liste von Optionen in einem Menü treffen, um die Eingabe in der Befehlszeile abzuschließen.
PSReadLine verfügt über mehrere vordefinierte Tastenhandler, die standardmäßig gebunden sind. Sie können auch eigene benutzerdefinierte Tastenhandler definieren. Führen Sie den folgenden Befehl aus, um die derzeit definierten Tastenhandler aufzulisten.
Get-PSReadLineKeyHandler
Sie können auch eine Liste aller ungebundenen PSReadLine-Funktionen abrufen, die zur Bindung an eine Tastenkombination verfügbar sind.
Get-PSReadLineKeyHandler -Unbound
Sie können mit dem Set-PSReadLineKeyHandler
-Cmdlet eine Funktion an einen Tastenhandler binden. Der folgende Befehl bindet die MenuComplete
-Funktion an die Tastenkombination STRG+LEERTASTE.
Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete
Suchen nach Tastennamen und Bindungen an Tastenkombinationen
Die Namen der Tasten in der Kombination werden durch die [System.ConsoleKey]
-Enumeration definiert. Weitere Informationen finden Sie in der System.ConsoleKey-Dokumentation. Der Name der Taste 2 auf [System.ConsoleKey]
lautet beispielsweise D2
, während der Name der Taste 2 auf der Zehnertastatur NumPad2
lautet. Sie können die [System.Console]::ReadKey()
-Methode verwenden, um den Namen der Taste zu ermitteln, die Sie gedrückt haben.
[System.Console]::ReadKey()
Die folgende Ausgabe zeigt die von der ReadKey()
-Methode für die Tastenkombination STRG+2 zurückgegebenen Informationen.
KeyChar Key Modifiers
------- --- ---------
D2 Control
Für die PSReadLine-Tastenhandler-Cmdlets wird diese Kombination als Ctrl+D2
dargestellt. Im folgenden Beispiel wird diese Kombination an eine Funktion gebunden.
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Sie können mehrere Kombinationen an eine einzelne Funktion binden. Standardmäßig ist die BackwardDeleteChar
-Funktion an zwei Kombinationen gebunden.
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
Hinweis
Beim Chord-Parameter wird die Groß-/Kleinschreibung berücksichtigt. Das heißt, Sie können verschiedene Bindungen für STRG+X und STRG+x erstellen.
Unter Windows können Sie auch die ALT+?-Tastenkombination verwenden, um die Funktion anzuzeigen, die an die nächste Tastenkombination gebunden ist, die Sie eingeben. Wenn Sie ALT+? eingeben, wird die folgende Eingabeaufforderung angezeigt:
what-is-key:
Wenn Sie die RÜCKTASTE drücken, erhalten Sie die folgende Antwort:
Backspace: BackwardDeleteChar - Delete the character before the cursor
Tastenhandler auf Nicht-Windows-Computern
Die von Ihrer Tastatur generierten Tastencodes können je nach Betriebssystem und Terminalanwendung, die Sie verwenden, unterschiedlich sein.
macOS
Die Macintosh-Tastatur verfügt nicht über eine ALT-Taste wie Windows- und Linux-Systeme. Stattdessen verfügt sie über die Option ⌥-Taste. macOS verwendet diese Taste anders als die ALT-Taste auf anderen Systemen. Sie können jedoch die Terminal- und iTerm2-Anwendungen unter macOS so konfigurieren, dass sie als ALT-Taste behandelt wird.
Konfigurieren der Terminalanwendung
Öffnen Sie das Fenster Einstellungen über die App-Leiste in „Terminal.app“. Wählen Sie Profile und dann das Profil aus, das Sie konfigurieren möchten. Wählen Sie die Registerkarte Tastatur der Konfigurationsoptionen aus. Wählen Sie unter der Liste der Tasten die Einstellung Option als Metataste verwenden aus. Mit dieser Einstellung kann die Option ⌥-Taste in der Terminalanwendung als ALT-Taste verwendet werden.
Konfigurieren der iTerm2-Anwendung
Öffnen Sie das Fenster Einstellungen über die App-Leiste in „iTerm.app“. Wählen Sie Profile und dann das Profil aus, das Sie konfigurieren möchten. Wählen Sie die Registerkarte Tasten der Konfigurationsoptionen aus. Wählen Sie die Option Esc+ für die Einstellungen Linke Optionstaste und Rechte Optionstaste aus. Mit dieser Einstellung kann die Option ⌥-Taste in der iTerm-Anwendung als ALT-Taste verwendet werden.
Hinweis
Die genauen Schritte können abhängig von den Versionen von macOS und den Terminalanwendungen variieren. Diese Beispiele wurden unter macOS Ventura 13.2.1 und iTerm2 v3.4.16 erfasst.
Linux
Auf Linux-Plattformen kann sich der generierte Tastencode von anderen Systemen unterscheiden. Beispiel:
STRG+[ ist identisch mit ESCAPE.
STRG+LEERTASTE generiert die Tastencodes für STRG+D2. Wenn Sie einer Funktion STRG+LEERTASTE zuordnen möchten, müssen Sie die Tastenkombination
Ctrl+D2
verwenden.Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Verwenden Sie die ReadKey()
-Methode, um die von der Tastatur generierten Tastencodes zu überprüfen.
Häufig verwendete Tastenhandler
Im Folgenden finden Sie einige häufig verwendete Tastenhandler, die unter Windows standardmäßig gebunden sind. Beachten Sie, dass die Tastenbindung auf Nicht-Windows-Plattformen unterschiedlich sein kann.
MenuComplete
Schließen Sie die Eingabe ab, indem Sie Ihre Auswahl in einem Menü mit möglichen Vervollständigungswerten treffen.
Standardtastenkombination: Ctrl+Spacebar
Das folgende Beispiel zeigt das Menü mit möglichen Vervollständigungen für Befehle, die mit select
beginnen.
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
Verwenden Sie die Pfeiltasten, um die gewünschte Vervollständigung auszuwählen. Drücken Sie die EINGABETASTE, um die Eingabe abzuschließen. Während Sie durch die Auswahl navigieren, wird die Hilfe für den ausgewählten Befehl unter dem Menü angezeigt.
ClearScreen
Diese Funktion löscht den Bildschirm ähnlich wie die Befehle cls
oder clear
.
Standardtastenkombination: Ctrl+l
SelectCommandArgument
Wählt das nächste Argument in der Befehlszeile aus.
Standardtastenkombination: Alt+a
Möglicherweise enthält Ihr Verlauf einen Befehl, der mit unterschiedlichen Parameterwerten erneut ausgeführt werden soll. Sie können die Tastenkombination verwenden, um die einzelnen Parameter zu durchlaufen und den Wert nach Bedarf zu ändern.
New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM
Durch Drücken von ALT+a wird wiederum das nächste Parameterargument ausgewählt: myRGName
, eastus
, myVM
.
GotoBrace
Verschiebt den Cursor auf die entsprechende geschweifte Klammer.
Standardtastenkombination: Ctrl+]
Mit dieser Funktion wird der Cursor auf die schließende geschweifte Klammer verschoben, die mit der geschweiften Klammer an der aktuellen Cursorposition in der Befehlszeile übereinstimmt. Die Funktion ist für eckige Klammern ([]
), geschweifte Klammern ({}
) und runde Klammern (()
) nutzbar.
DigitArgument
Starten oder akkumulieren Sie die Verwendung eines numerischen Arguments, um einen Tastaturanschlag so oft wie angegeben zu wiederholen.
Standardtastenkombination: Alt+0
bis Alt+9
Wenn Sie z. B. ALT+4+# drücken, wird in der Befehlszeile ####
eingegeben.