Set-PSReadLineKeyHandler
Bindet Schlüssel an benutzerdefinierte oder PSReadLine-Schlüsselhandlerfunktionen.
Syntax
Set-PSReadLineKeyHandler
[-ScriptBlock] <ScriptBlock>
[-BriefDescription <String>]
[-Description <String>]
[-Chord] <String[]>
[-ViMode <ViMode>]
[<CommonParameters>]
Set-PSReadLineKeyHandler
[-Chord] <String[]>
[-ViMode <ViMode>]
[-Function] <String>
[<CommonParameters>]
Beschreibung
Das Set-PSReadLineKeyHandler
Cmdlet passt das Ergebnis an, wenn eine Taste oder Abfolge von Tasten gedrückt wird. Mit benutzerdefinierten Schlüsselbindungen können Sie nahezu alles tun, was in einem PowerShell-Skript möglich ist.
Beispiele
Beispiel 1: Binden der Pfeiltaste an eine Funktion
Mit diesem Befehl wird die NACH-OBEN-TASTE an die HistorySearchBackward-Funktion gebunden. Diese Funktion durchsucht den Befehlsverlauf nach Befehlszeilen, die mit dem aktuellen Inhalt der Befehlszeile beginnen.
Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward
Beispiel 2: Binden eines Schlüssels an einen Skriptblock
In diesem Beispiel wird gezeigt, wie ein einzelner Schlüssel zum Ausführen eines Befehls verwendet werden kann. Der Befehl bindet die Taste Ctrl+b
an einen Skriptblock, der die Zeile löscht, das Wort "Build" einfügt und dann die Zeile akzeptiert.
Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
[Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
[Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}
Parameter
-BriefDescription
Eine kurze Beschreibung der Schlüsselbindung. Diese Beschreibung wird vom Get-PSReadLineKeyHandler
Cmdlet angezeigt.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Chord
Der Schlüssel oder die Abfolge von Schlüsseln, die an eine Funktion oder einen Skriptblock gebunden werden sollen. Verwenden Sie eine einzelne Zeichenfolge, um eine einzelne Bindung anzugeben. Wenn es sich bei der Bindung um eine Sequenz von Schlüsseln handelt, trennen Sie die Schlüssel durch ein Komma. Beispiel: Ctrl+x,Ctrl+l
Buchstabenschlüsselverweise werden mit Kleinbuchstaben definiert. Wenn Sie einen Akkord definieren möchten, der einen Großbuchstaben verwendet, muss der Akkord die UMSCHALTTASTE enthalten. Erstellen Sie Ctrl+x
beispielsweise Ctrl+Shift+x
unterschiedliche Bindungen.
Dieser Parameter akzeptiert ein Array von Zeichenfolgen. Jede Zeichenfolge ist eine separate Bindung, keine Abfolge von Schlüsseln für eine einzelne Bindung.
Typ: | String[] |
Aliase: | Key |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Description
Gibt eine detailliertere Beschreibung der Schlüsselbindung an, die in der Ausgabe des Get-PSReadLineKeyHandler
Cmdlets sichtbar ist.
Typ: | String |
Aliase: | LongDescription |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Function
Gibt den Namen eines vorhandenen Schlüsselhandlers an, der von PSReadLine bereitgestellt wird. Mit diesem Parameter können Sie vorhandene Schlüsselbindungen neu binden oder einen Handler binden, der derzeit ungebunden ist.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ScriptBlock
Gibt einen Skriptblockwert an, der ausgeführt werden soll, wenn der Chor eingegeben wird. PSReadLine übergibt einen oder zwei Parameter an diesen Skriptblock. Der erste Parameter ist ein ConsoleKeyInfo-Objekt , das die gedrückte Taste darstellt. Das zweite Argument kann je nach Kontext ein beliebiges Objekt sein.
Typ: | ScriptBlock |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ViMode
Geben Sie an, für welchen Modus die Bindung gilt.
Gültige Werte sind:
Insert
Command
Typ: | ViMode |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.