Set-PSReadLineKeyHandler
Bindet Schlüssel an benutzerdefinierte oder PSReadLine-Schlüsselhandlerfunktionen.
Syntax
ScriptBlock
Set-PSReadLineKeyHandler
[-ScriptBlock] <ScriptBlock>
[-Chord] <String[]>
[-BriefDescription <String>]
[-Description <String>]
[-ViMode <ViMode>]
[<CommonParameters>]
Function
Set-PSReadLineKeyHandler
[-Chord] <String[]>
[-Function] <String>
[-ViMode <ViMode>]
[<CommonParameters>]
Beschreibung
Das cmdlet Set-PSReadLineKeyHandler passt das Ergebnis an, wenn eine Taste oder Eine Tastenabfolge 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 Cmdlet Get-PSReadLineKeyHandler angezeigt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ScriptBlock
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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. Beispielsweise erstellen Ctrl+Shift+x und Ctrl+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.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Schlüssel |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Description
Gibt eine detailliertere Beschreibung der Schlüsselbindung an, die in der Ausgabe des Cmdlets Get-PSReadLineKeyHandler sichtbar ist.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | LongDescription |
Parametersätze
ScriptBlock
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Function
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | ScriptBlock |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ScriptBlock
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ViMode
Geben Sie an, für welchen Modus die Bindung gilt.
Gültige Werte sind:
InsertCommand
Parametereigenschaften
| Typ: | ViMode |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.