Compartir a través de


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.