Usando manipuladores de chaves PSReadLine
O módulo PSReadLine fornece manipuladores de teclas que mapeiam funções PSReadLine para acordes de teclado. Acordes de teclado são uma sequência de um ou mais pressionamentos de teclas que são pressionados ao mesmo tempo.
Por exemplo, o acorde Ctrl+Barra de espaço é a combinação das teclas Ctrl e Barra de espaço pressionadas ao mesmo tempo. Uma função PSReadLine é uma ação predefinida que pode ser executada em uma linha de comando. Por exemplo, a MenuComplete
função permite que você escolha a partir de uma lista de opções de um menu completar a entrada na linha de comando.
PSReadLine tem vários manipuladores de chave predefinidos que são vinculados por padrão. Você também pode definir seus próprios manipuladores de chaves personalizados. Execute o comando a seguir para listar os manipuladores de chaves que estão definidos no momento.
Get-PSReadLineKeyHandler
Você também pode obter uma lista de todas as funções PSReadLine não acopladas que estão disponíveis para serem vinculadas a um acorde de tecla.
Get-PSReadLineKeyHandler -Unbound
Você pode usar o Set-PSReadLineKeyHandler
cmdlet para vincular uma função a um manipulador de chaves. O comando a seguir vincula a MenuComplete
função ao acorde Ctrl+Spacebar.
Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete
Encontrar nomes de chaves e ligações de acordes
Os nomes das teclas no acorde são definidos pela [System.ConsoleKey]
enumeração. Para obter mais informações, consulte a documentação System.ConsoleKey . Por exemplo, o nome da tecla 2 é D2
[System.ConsoleKey]
, enquanto o nome da tecla 2 no teclado numérico é NumPad2
. Você pode usar o [System.Console]::ReadKey()
método para encontrar o nome da tecla que você pressionou.
[System.Console]::ReadKey()
A saída a seguir mostra as informações retornadas ReadKey()
pelo método para o acorde de tecla Ctrl+2.
KeyChar Key Modifiers
------- --- ---------
D2 Control
Para os cmdlets do manipulador de chaves PSReadLine , esse acorde é representado como Ctrl+D2
. O exemplo a seguir vincula esse acorde a uma função.
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Você pode ligar vários cabos a uma única função. Por padrão, a BackwardDeleteChar
função está ligada a dois acordes.
Get-PSReadLineKeyHandler -Chord Backspace, Ctrl+h
Key Function Description
--- -------- -----------
Backspace BackwardDeleteChar Delete the character before the cursor
Ctrl+h BackwardDeleteChar Delete the character before the cursor
Nota
O parâmetro Chord diferencia maiúsculas de minúsculas. Ou seja, você pode criar diferentes ligações para Ctrl+X e Ctrl+x.
No Windows, você também pode usar o acorde de tecla Alt+? para mostrar a função vinculada ao próximo acorde de tecla digitado. Quando você digita Alt+?, você vê o seguinte prompt:
what-is-key:
Quando você pressiona a tecla Backspace, você recebe a seguinte resposta:
Backspace: BackwardDeleteChar - Delete the character before the cursor
Manipuladores de chaves em computadores que não são Windows
Os códigos de teclas gerados pelo seu teclado podem ser diferentes dependendo do sistema operacional e do aplicativo de terminal que você está usando.
macOS
O teclado Macintosh não tem uma tecla Alt como os sistemas Windows e Linux. Em vez disso, tem a tecla ⌥ Option . O macOS usa essa chave de forma diferente da tecla Alt em outros sistemas. No entanto, você pode configurar o terminal e os aplicativos iTerm2 no macOS para tratá-lo como uma tecla Alt .
Configurando o aplicativo Terminal
Abra a janela Configurações na barra de aplicativos no Terminal.app. Selecione Perfis e escolha o perfil que deseja configurar. Selecione a guia Teclado das opções de configuração. Abaixo da lista de chaves, selecione a configuração Usar opção como meta chave . Esta definição permite que a tecla ⌥ Option atue como Alt na aplicação Terminal.
Configurando o aplicativo iTerm2
Abra a janela Configurações na Barra de aplicativos no iTerm.app. Selecione Perfis e escolha o perfil que deseja configurar. Selecione a guia Teclas das opções de configuração. Selecione a opção Esc+ para as configurações Tecla de opção esquerda e Tecla de opção direita. Esta definição permite que a tecla ⌥ Option atue como Alt na aplicação iTerm.
Nota
Os passos exatos podem variar dependendo das versões do macOS e das aplicações de terminal. Estes exemplos foram capturados no macOS Ventura 13.2.1 e iTerm2 v3.4.16.
Linux
Em plataformas Linux, o código de chave gerado pode ser diferente de outros sistemas. Por exemplo:
Ctrl+[ é o mesmo que Escape
Ctrl Spacebar gera os códigos de teclas para Ctrl+D2.+ Se você quiser mapear uma função Ctrl+Barra de espaço você deve usar o acorde .
Ctrl+D2
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Use o ReadKey()
método para verificar os códigos de teclas gerados pelo teclado.
Manipuladores de chaves comumente usados
Aqui estão alguns manipuladores de chaves comumente usados que são vinculados por padrão no Windows. Observe que a vinculação de chave pode ser diferente em plataformas que não sejam Windows.
MenuCompleto
Conclua a entrada selecionando em um menu de possíveis valores de conclusão.
Acorde padrão: Ctrl+Spacebar
O exemplo a seguir mostra o menu de possíveis conclusões para comandos começando com select
.
PS C:\> select<Ctrl+Spacebar>
select Select-Object Select-PSFPropertyValue Select-Xml
Select-AzContext Select-PSFConfig Select-PSMDBuildProject
Select-AzSubscription Select-PSFObject Select-String
Select-Object
Use as teclas de seta para selecionar a conclusão desejada. Pressione a tecla Enter para concluir a entrada. À medida que você se move pelas seleções, a ajuda para o comando selecionado é exibida abaixo do menu.
Ecrã Limpo
Esta função limpa a tela semelhante aos cls
comandos ou clear
.
Acorde padrão: Ctrl+l
SelectCommandArgument
Seleciona o próximo argumento na linha de comando.
Acorde padrão: Alt+a
Você pode ter um comando em seu histórico que deseja executar novamente com valores de parâmetro diferentes. Você pode usar o acorde para percorrer cada parâmetro e alterar o valor conforme necessário.
New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM
Pressionar Alt+a seleciona o próximo argumento de parâmetro por sua vez: myRGName
, eastus
, . myVM
GotoBrace
Move o cursor para a chave correspondente.
Acorde padrão: Ctrl+]
Esta função move o cursor para a chave de fecho que corresponde à chave na posição atual do cursor na linha de comandos. A função funciona para colchetes ([]
), chaves ({}
) e parênteses, (()
).
DigitArgument
Inicie ou acumule um argumento numérico Use para repetir um pressionamento de tecla no número especificado de vezes.
Acorde padrão: Alt+0
através de Alt+9
Por exemplo, digitar Alt+4+# entra ####
na linha de comando.