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 Set-PSReadLineKeyHandler
cmdlet 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 muestra Get-PSReadLineKeyHandler
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 Get-PSReadLineKeyHandler
cmdlet.
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 ningún resultado.