Set-PSReadLineKeyHandler
Enlaza claves a funciones de controlador de claves definidas por el usuario o PSReadLine.
Sintaxis
Set-PSReadLineKeyHandler
[-ScriptBlock] <ScriptBlock>
[-BriefDescription <String>]
[-Description <String>]
[-Chord] <String[]>
[-ViMode <ViMode>]
[<CommonParameters>]
Set-PSReadLineKeyHandler
[-Chord] <String[]>
[-ViMode <ViMode>]
[-Function] <String>
[<CommonParameters>]
Description
El cmdlet Set-PSReadLineKeyHandler
personaliza el resultado cuando se presiona una tecla o secuencia de teclas. Con los enlaces de clave definidos por el usuario, puede hacer casi cualquier cosa que sea posible desde un script de PowerShell.
Ejemplos
Ejemplo 1: Enlace de la tecla de dirección a una función
Este comando enlaza la tecla de flecha arriba a la función HistorySearchBackward. Esta función busca en el historial de comandos las líneas de comandos que comienzan con el contenido actual de la línea de comandos.
Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward
Ejemplo 2: Enlace de una clave a un bloque de script
En este ejemplo se muestra cómo se puede usar una sola clave para ejecutar un comando. El comando enlaza la clave Ctrl+b
a un bloque de script que borra la línea, inserta la palabra "build" y, a continuación, acepta la línea.
Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
[Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
[Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}
Parámetros
-BriefDescription
Una breve descripción del enlace de claves. El cmdlet Get-PSReadLineKeyHandler
muestra esta descripción.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Chord
Clave o secuencia de claves que se enlazarán a una función o bloque de script. Use una sola cadena para especificar un único enlace. Si el enlace es una secuencia de claves, separe las claves por una coma. Por ejemplo: Ctrl+x,Ctrl+l
Las referencias de clave de letra se definen mediante letras minúsculas. Si desea definir un acorde que use una letra mayúscula, el acorde debe incluir la tecla Mayús. Por ejemplo, Ctrl+Shift+x
y Ctrl+x
crear enlaces diferentes.
Este parámetro acepta una matriz de cadenas. Cada cadena es un enlace independiente, no una secuencia de claves para un único enlace.
Tipo: | String[] |
Alias: | Key |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Description
Especifica una descripción más detallada del enlace de claves que está visible en la salida del cmdlet Get-PSReadLineKeyHandler
.
Tipo: | String |
Alias: | LongDescription |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Function
Especifica el nombre de un controlador de claves existente proporcionado por PSReadLine. Este parámetro permite volver a enlazar los enlaces de clave existentes o enlazar un controlador que actualmente no está enlazado.
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ScriptBlock
Especifica un valor de bloque de script que se ejecutará cuando se escriba el acorde. PSReadLine pasa uno o dos parámetros a este bloque de script. El primer parámetro es un objeto ConsoleKeyInfo que representa la tecla presionada. El segundo argumento puede ser cualquier objeto en función del contexto.
Tipo: | ScriptBlock |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ViMode
Especifique a qué modo vi se aplica el enlace.
Los valores válidos son:
Insert
Command
Tipo: | ViMode |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
None
Este cmdlet no devuelve ninguna salida.