Freigeben über


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.

Screenshot: Einstellungen von „Terminal.app“

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.

Screenshot: Einstellungen von „iTerm.app“

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.

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.

Weitere Informationen