Set-PSReadLineKeyHandler
Vincula chaves a funções de manipulador de chaves definidas pelo usuário ou PSReadLine.
Sintaxe
Set-PSReadLineKeyHandler
[-ScriptBlock] <ScriptBlock>
[-BriefDescription <String>]
[-Description <String>]
[-Chord] <String[]>
[-ViMode <ViMode>]
[<CommonParameters>]
Set-PSReadLineKeyHandler
[-Chord] <String[]>
[-ViMode <ViMode>]
[-Function] <String>
[<CommonParameters>]
Description
O Set-PSReadLineKeyHandler
cmdlet personaliza o resultado quando uma tecla ou sequência de teclas é pressionada. Com associações de chave definidas pelo usuário, você pode fazer quase tudo o que é possível a partir de um script do PowerShell.
Exemplos
Exemplo 1: Vincular a tecla de seta a uma função
Este comando liga a tecla de seta para cima à função HistorySearchBackward . Esta função pesquisa no histórico de comandos linhas de comando que começam com o conteúdo atual da linha de comando.
Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward
Exemplo 2: Vincular uma chave a um bloco de script
Este exemplo mostra como uma única chave pode ser usada para executar um comando. O comando vincula a chave Ctrl+b
a um bloco de script que limpa a linha, insere a palavra "build" e aceita a linha.
Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
[Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
[Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}
Parâmetros
-BriefDescription
Uma breve descrição da vinculação de chave. Essa descrição é exibida pelo Get-PSReadLineKeyHandler
cmdlet.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Chord
A chave ou sequência de teclas a serem vinculadas a uma função ou bloco de script. Use uma única cadeia de caracteres para especificar uma única ligação. Se a ligação for uma sequência de chaves, separe as teclas por uma vírgula. Por exemplo: Ctrl+x,Ctrl+l
As referências de teclas de letra são definidas usando letras minúsculas. Se você quiser definir um acorde que usa uma letra maiúscula, o acorde deve incluir a tecla Shift . Por exemplo, Ctrl+Shift+x
e Ctrl+x
crie ligações diferentes.
Este parâmetro aceita uma matriz de cadeias de caracteres. Cada cadeia de caracteres é uma ligação separada, não uma sequência de teclas para uma única ligação.
Tipo: | String[] |
Aliases: | Key |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Description
Especifica uma descrição mais detalhada da associação de chave visível na saída do Get-PSReadLineKeyHandler
cmdlet.
Tipo: | String |
Aliases: | LongDescription |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Function
Especifica o nome de um manipulador de chaves existente fornecido por PSReadLine. Este parâmetro permite que você revincule associações de chave existentes ou vincule um manipulador que está atualmente desvinculado.
Tipo: | String |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ScriptBlock
Especifica um valor de bloco de script a ser executado quando o acorde é inserido. PSReadLine passa um ou dois parâmetros para este bloco de script. O primeiro parâmetro é um objeto ConsoleKeyInfo que representa a tecla pressionada. O segundo argumento pode ser qualquer objeto, dependendo do contexto.
Tipo: | ScriptBlock |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ViMode
Especifique a que modo vi a ligação se aplica.
Os valores válidos são:
Insert
Command
Tipo: | ViMode |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.