about_PSReadLine_Functions
Descrição breve
PSReadLine fornece uma experiência de edição de linha de comando aprimorada no console do PowerShell.
Descrição longa
O PowerShell 5.1 é fornecido com o PSReadLine 2.0.0. A versão atual é PSReadLine 2.3.4. A versão atual do PSReadLine pode ser instalada e usada no Windows PowerShell 5.1 e mais recente. Para alguns recursos, você precisa estar executando o PowerShell 7.2 ou superior.
Este artigo documenta as funções fornecidas pelo PSReadLine. Essas funções podem ser vinculadas a pressionamentos de tecla para facilitar o acesso e a invocação.
Usando a classe Microsoft.PowerShell.PSConsoleReadLine
As funções a seguir estão disponíveis na classe Microsoft.PowerShell.PSConsoleReadLine.
Funções básicas de edição
Abort
Anule a ação atual, por exemplo: pesquisa de histórico incremental.
- Modo Emacs:
<Ctrl+g>
Aceitare e obtenhaPróximo
Tente executar a entrada atual. Se ele puder ser executado (como AcceptLine), recupere o próximo item do histórico na próxima vez que ReadLine for chamado.
- Modo Emacs:
<Ctrl+o>
Linha de Aceitação
Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento, colchete ou aspas ausente), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará as chaves editarem a entrada atual.
- Modo Windows:
<Enter>
- Modo Emacs:
<Enter>
- Modo de inserção Vi:
<Enter>
AddLine
O prompt de continuação é exibido na próxima linha e PSReadLine aguarda que as chaves editem a entrada atual. Isso é útil para inserir a entrada de várias linhas como um único comando, mesmo quando uma única linha é uma entrada completa por si só.
- Modo Windows:
<Shift+Enter>
- Modo Emacs:
<Shift+Enter>
- Modo de inserção Vi:
<Shift+Enter>
- Modo de comando Vi:
<Shift+Enter>
BackwardDeleteChar
Exclua o caractere antes do cursor.
- Modo Windows:
<Backspace>
,<Ctrl+h>
- Modo Emacs:
<Backspace>
,<Ctrl+Backspace>
,<Ctrl+h>
- Modo de inserção Vi:
<Backspace>
- Modo de comando Vi:
<X>
,<d,h>
BackwardDeleteLine
Como BackwardKillLine - exclui o texto do ponto para o início da linha, mas não coloca o texto excluído no kill-ring.
- Modo Windows:
<Ctrl+Home>
- Modo de inserção Vi:
<Ctrl+u>
,<Ctrl+Home>
- Modo de comando Vi:
<Ctrl+u>
,<Ctrl+Home>
,<d,0>
BackwardDeleteWord
Exclui a palavra anterior.
- Modo de comando Vi:
<Ctrl+w>
,<d,b>
Linha de Morte para Trás
Limpe a entrada do início da entrada para o cursor. O texto limpo é colocado no anel de morte.
- Modo Emacs:
<Ctrl+u>
,<Ctrl+x,Backspace>
Palavras para trás
Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre as palavras, a entrada será apagada do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.
- Modo Windows:
<Ctrl+Backspace>
- Modo Emacs:
<Alt+Backspace>
,<Escape,Backspace>
- Modo de inserção Vi:
<Ctrl+Backspace>
- Modo de comando Vi:
<Ctrl+Backspace>
Cancelar Linha
Cancele a entrada atual, deixando a entrada na tela, mas retorne ao host para que o prompt seja avaliado novamente.
- Modo de inserção Vi:
<Ctrl+c>
- Modo de comando Vi:
<Ctrl+c>
Copiar
Copie a região selecionada para a área de transferência do sistema. Se nenhuma região for selecionada, copie a linha inteira.
- Modo Windows:
<Ctrl+C>
CopyOrCancelLine
Se o texto for selecionado, copie para a área de transferência, caso contrário, cancele a linha.
- Modo Windows:
<Ctrl+c>
- Modo Emacs:
<Ctrl+c>
Recortar
Excluir região selecionada colocando o texto excluído na área de transferência do sistema.
- Modo Windows:
<Ctrl+x>
ExcluirChar
Exclua o caractere sob o cursor.
- Modo Windows:
<Delete>
- Modo Emacs:
<Delete>
- Modo de inserção Vi:
<Delete>
- Modo de comando Vi:
<Delete>
,<x>
,<d,l>
,<d,Space>
ExcluirCharOrExit
Exclua o caractere sob o cursor ou, se a linha estiver vazia, saia do processo.
- Modo Emacs:
<Ctrl+d>
ExcluirEndOfWord
Exclua até o final da palavra.
- Modo de comando Vi:
<d,e>
Linha de exclusão
Exclui a linha atual, habilitando desfazer.
- Modo de comando Vi:
<d,d>
ExcluirLinhaParaPrimeiroCaractere
Exclui o texto do cursor para o primeiro caractere não branco da linha.
- Modo de comando Vi:
<d,^>
ExcluirParaFim
Exclua até o final da linha.
- Modo de comando Vi:
<D>
,<d,$>
DeleteWord
Exclua a próxima palavra.
- Modo de comando Vi:
<d,w>
ForwardDeleteLine
Como ForwardKillLine - exclui o texto do ponto até o final da linha, mas não coloca o texto excluído no kill-ring.
- Modo Windows:
<Ctrl+End>
- Modo de inserção Vi:
<Ctrl+End>
- Modo de comando Vi:
<Ctrl+End>
Inserir Linha Acima
Uma nova linha vazia é criada acima da linha atual, independentemente de onde o cursor esteja na linha atual. O cursor se move para o início da nova linha.
- Modo Windows:
<Ctrl+Enter>
InsertLineBelow
Uma nova linha vazia é criada abaixo da linha atual, independentemente de onde o cursor esteja na linha atual. O cursor se move para o início da nova linha.
- Modo Windows:
<Shift+Ctrl+Enter>
InvertCase
Inverta as maiúsculas e minúsculas do caractere atual e passe para o próximo.
- Modo de comando Vi:
<~>
Linha de Matar
Limpe a entrada do cursor até o final da entrada. O texto limpo é colocado no anel de morte.
- Modo Emacs:
<Ctrl+k>
Região de Matar
Elimine o texto entre o cursor e a marca.
- A função é desvinculada.
Palavra de Morte
Limpe a entrada do cursor até o final da palavra atual. Se o cursor estiver entre as palavras, a entrada será apagada do cursor até o final da próxima palavra. O texto limpo é colocado no anel de morte.
- Modo Windows:
<Ctrl+Delete>
- Modo Emacs:
<Alt+d>
,<Escape,d>
- Modo de inserção Vi:
<Ctrl+Delete>
- Modo de comando Vi:
<Ctrl+Delete>
Colar
Cole o texto da área de transferência do sistema.
- Modo Windows:
<Ctrl+v>
,<Shift+Insert>
- Modo de inserção Vi:
<Ctrl+v>
- Modo de comando Vi:
<Ctrl+v>
Importante
Ao usar a função Colher , todo o conteúdo do buffer da área de transferência é colado no buffer de entrada de PSReadLine. Em seguida, o buffer de entrada é passado para o analisador do PowerShell. A entrada colada usando o método de colagem com o botão direito do mouse do aplicativo de console é copiada para o buffer de entrada, um caractere por vez. O buffer de entrada é passado para o analisador quando um caractere de nova linha é copiado. Portanto, a entrada é analisada uma linha por vez. A diferença entre os métodos de colagem resulta em diferentes comportamentos de execução.
Cole depois
Cole a área de transferência após o cursor, movendo-o para o final do texto colado.
- Modo de comando Vi:
<p>
ColarAntes
Cole a área de transferência antes do cursor, movendo-o para o final do texto colado.
- Modo de comando Vi:
<P>
PrependAndAccept
Anexe um '#' e aceite a linha.
- Modo de comando Vi:
<#>
Refazer
Desfazer um desfazer.
- Modo Windows:
<Ctrl+y>
- Modo de inserção Vi:
<Ctrl+y>
- Modo de comando Vi:
<Ctrl+y>
RepeatLastCommand
Repita a última modificação de texto.
- Modo de comando Vi:
<.>
RevertLine
Reverte todas as entradas para a entrada atual.
- Modo Windows:
<Escape>
- Modo Emacs:
<Alt+r>
,<Escape,r>
ShellBackwardKillWord
Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre as palavras, a entrada será apagada do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.
A função é desvinculada.
ShellKillWord
Limpe a entrada do cursor até o final da palavra atual. Se o cursor estiver entre as palavras, a entrada será apagada do cursor até o final da próxima palavra. O texto limpo é colocado no anel de morte.
A função é desvinculada.
Caracteres de troca
Troque o caractere atual e o anterior.
- Modo Emacs:
<Ctrl+t>
- Modo de inserção Vi:
<Ctrl+t>
- Modo de comando Vi:
<Ctrl+t>
Desfazer
Desfaça uma edição anterior.
- Modo Windows:
<Ctrl+z>
- Modo Emacs:
<Ctrl+_>
,<Ctrl+x,Ctrl+u>
- Modo de inserção Vi:
<Ctrl+z>
- Modo de comando Vi:
<Ctrl+z>
,<u>
Desfazer tudo
Desfaça todas as edições anteriores da linha.
- Modo de comando Vi:
<U>
UnixWordRubout
Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre as palavras, a entrada será apagada do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.
- Modo Emacs:
<Ctrl+w>
ValidateAndAcceptLine
Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento, colchete ou aspas ausente), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará as chaves editarem a entrada atual.
- Modo Emacs:
<Ctrl+m>
ViAcceptLine
Aceite a linha e mude para o modo de inserção.
- Modo de comando Vi:
<Enter>
ViAcceptLineOrExit
Como DeleteCharOrExit no modo Emacs, mas aceita a linha em vez de excluir um caractere.
- Modo de inserção Vi:
<Ctrl+d>
- Modo de comando Vi:
<Ctrl+d>
ViAppendLine
Uma nova linha é inserida abaixo da linha atual.
- Modo de comando Vi:
<o>
ViBackwardDeleteGlob
Exclui a palavra anterior, usando apenas espaços em branco como delimitador de palavras.
- Modo de comando Vi:
<d,B>
ViBackwardGlob
Move o cursor de volta para o início da palavra anterior, usando apenas espaços em branco como delimitadores.
- Modo de comando Vi:
<B>
ViDeleteBrace
Encontre a chave, parênteses ou colchetes correspondentes e exclua todo o conteúdo dentro dela, incluindo a chave.
- Modo de comando Vi:
<d,%>
ViDeleteEndOfGlob
Exclua até o final da palavra.
- Modo de comando Vi:
<d,E>
ViDeleteGlob
Exclua o próximo glob (palavra delimitada por espaço em branco).
- Modo de comando Vi:
<d,W>
ViDeleteToBeforeChar
Exclui até um determinado caractere.
- Modo de comando Vi:
<d,t>
ViDeleteToBeforeCharBackward
Exclui até um determinado caractere.
- Modo de comando Vi:
<d,T>
ViDeleteToChar
Exclui até um determinado caractere.
- Modo de comando Vi:
<d,f>
ViDeleteToCharBackward
Exclui para trás até que o caractere seja fornecido.
- Modo de comando Vi:
<d,F>
ViInsertAtBegining
Alterne para o modo Inserir e posicione o cursor no início da linha.
- Modo de comando Vi:
<I>
ViInsertAtEnd
Alterne para o modo Inserir e posicione o cursor no final da linha.
- Modo de comando Vi:
<A>
ViInsertLine
Uma nova linha é inserida acima da linha atual.
- Modo de comando Vi:
<O>
ViInsertWithAppend
Anexar a partir da posição da linha atual.
- Modo de comando Vi:
<a>
ViInsertWithDelete
Exclua o caractere atual e alterne para o modo Inserir.
- Modo de comando Vi:
<s>
ViJoinLines
Junta a linha atual e a próxima linha.
- Modo de comando Vi:
<J>
ViReplaceLine
Apague toda a linha de comando.
- Modo de comando Vi:
<S>
,<c,c>
ViReplaceToBeforeChar
Substitui até receber o caractere.
- Modo de comando Vi:
<c,t>
ViReplaceToBeforeCharBackward
Substitui até receber o caractere.
- Modo de comando Vi:
<c,T>
ViReplaceToChar
Exclui até um determinado caractere.
- Modo de comando Vi:
<c,f>
ViReplaceToCharBackward
Substitui até receber o caractere.
- Modo de comando Vi:
<c,F>
ViYankBeginningOfLine
Puxe do início do buffer para o cursor.
- Modo de comando Vi:
<y,0>
ViYankEndOfGlob
Puxe do cursor para o final da(s) PALAVRA(s).
- Modo de comando Vi:
<y,E>
ViYankEndOfWord
Puxe do cursor para o final da(s) palavra(s).
- Modo de comando Vi:
<y,e>
ViYankLeft
Puxe o(s) caractere(s) para a esquerda do cursor.
- Modo de comando Vi:
<y,h>
ViYankLine
Puxe todo o buffer.
- Modo de comando Vi:
<y,y>
ViYankNextGlob
Puxe do cursor para o início da(s) próxima(s) PALAVRA(s).
- Modo de comando Vi:
<y,W>
ViYankNextWord
Puxe a(s) palavra(s) após o cursor.
- Modo de comando Vi:
<y,w>
ViYankPercent
Puxe de/para a cinta correspondente.
- Modo de comando Vi:
<y,%>
ViYankAnteriorGlob
Puxe do início da(s) PALAVRA(s) para o cursor.
- Modo de comando Vi:
<y,B>
ViYankAnteriorPalavra
Puxe a(s) palavra(s) antes do cursor.
- Modo de comando Vi:
<y,b>
ViYankRight
Puxe o(s) caractere(s) sob e à direita do cursor.
- Modo de comando Vi:
<y,l>
,<y,Space>
ViYankToEndOfLine
Puxe do cursor para o final do buffer.
- Modo de comando Vi:
<y,$>
ViYankToFirstChar
Puxe do primeiro caractere que não seja de espaço em branco para o cursor.
- Modo de comando Vi:
<y,^>
Ianque
Adicione o texto eliminado mais recentemente à entrada.
- Modo Emacs:
<Ctrl+y>
YankLastArg
Arrancar o último argumento da linha de histórico anterior. Com um argumento, na primeira vez que é invocado, se comporta exatamente como YankNthArg. Se invocado várias vezes, em vez disso, ele itera pelo histórico e arg define a direção (negativo inverte a direção).
- Modo Windows:
<Alt+.>
- Modo Emacs:
<Alt+.>
,<Alt+_>
,<Escape,.>
,<Escape,_>
YankNthArg
Retire o primeiro argumento (após o comando) da linha de histórico anterior. Com um argumento, arranca o enésimo argumento (começando de 0), se o argumento for negativo, começa a partir do último argumento.
- Modo Emacs:
<Ctrl+Alt+y>
,<Escape,Ctrl+y>
YankPop
Se a operação anterior foi Yank ou YankPop, substitua o texto arrancado anteriormente pelo próximo texto eliminado do kill-ring.
- Modo Emacs:
<Alt+y>
,<Escape,y>
Funções de movimento do cursor
BackwardChar
Mova o cursor um caractere para a esquerda. Isso pode mover o cursor para a linha anterior de entrada de várias linhas.
- Modo Windows:
<LeftArrow>
- Modo Emacs:
<LeftArrow>
,<Ctrl+b>
- Modo de inserção Vi:
<LeftArrow>
- Modo de comando Vi:
<LeftArrow>
,<Backspace>
,<h>
Palavra invertida
Mova o cursor de volta para o início da palavra atual ou, se estiver entre palavras, para o início da palavra anterior. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo Windows:
<Ctrl+LeftArrow>
- Modo Emacs:
<Alt+b>
,<Escape,b>
- Modo de inserção Vi:
<Ctrl+LeftArrow>
- Modo de comando Vi:
<Ctrl+LeftArrow>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
Começo de Linha
Se a entrada tiver várias linhas, vá para o início da linha atual ou, se já estiver no início da linha, vá para o início da entrada. Se a entrada tiver uma única linha, vá para o início da entrada.
- Modo Windows:
<Home>
- Modo Emacs:
<Home>
,<Ctrl+a>
- Modo de inserção Vi:
<Home>
- Modo de comando Vi:
<Home>
Fim da Linha
Se a entrada tiver várias linhas, vá para o final da linha atual ou, se já estiver no final da linha, vá para o final da entrada. Se a entrada tiver uma única linha, vá para o final da entrada.
- Modo Windows:
<End>
- Modo Emacs:
<End>
,<Ctrl+e>
- Modo de inserção Vi:
<End>
ForwardChar
Mova o cursor um caractere para a direita. Isso pode mover o cursor para a próxima linha de entrada de várias linhas.
- Modo Windows:
<RightArrow>
- Modo Emacs:
<RightArrow>
,<Ctrl+f>
- Modo de inserção Vi:
<RightArrow>
- Modo de comando Vi:
<RightArrow>
,<Space>
,<l>
Palavra de encaminhamento
Mova o cursor para frente até o final da palavra atual ou, se estiver entre palavras, até o final da próxima palavra. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo Emacs:
<Alt+f>
,<Escape,f>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
GotoBrace
Vá para a chave, parênteses ou colchetes correspondentes.
- Modo Windows:
<Ctrl+]>
- Modo de inserção Vi:
<Ctrl+]>
- Modo de comando Vi:
<Ctrl+]>
Ir para Coluna
Vá para a coluna indicada por arg.
- Modo de comando Vi:
<|>
GotoFirstNonBlankOfLine
Mova o cursor para o primeiro caractere não em branco na linha.
- Modo de comando Vi:
<^>
MoverParaEndOfLine
Mova o cursor para o final da entrada.
- Modo de comando Vi:
<End>
,<$>
Linha Seguinte
Mova o cursor para a próxima linha.
- A função é desvinculada.
PróximoPalavra
Mova o cursor para frente até o início da próxima palavra. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo Windows:
<Ctrl+RightArrow>
- Modo de inserção Vi:
<Ctrl+RightArrow>
- Modo de comando Vi:
<Ctrl+RightArrow>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
PróximoPalavraFim
Mova o cursor para frente até o final da palavra atual ou, se estiver entre palavras, até o final da próxima palavra. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo de comando Vi:
<e>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
Linha Anterior
Mova o cursor para a linha anterior.
- A função é desvinculada.
ShellBackwardWord
Mova o cursor de volta para o início da palavra atual ou, se estiver entre palavras, para o início da palavra anterior. Os limites de palavras são definidos por tokens do PowerShell.
- A função é desvinculada.
ShellForwardWord
Mova o cursor para frente até o início da próxima palavra. Os limites de palavras são definidos por tokens do PowerShell.
- A função é desvinculada.
ShellNextWord
Mova o cursor para frente até o final da palavra atual ou, se estiver entre palavras, até o final da próxima palavra. Os limites de palavras são definidos por tokens do PowerShell.
- A função é desvinculada.
ViBackwardWord
Mova o cursor de volta para o início da palavra atual ou, se estiver entre palavras, para o início da palavra anterior. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo de comando Vi:
<b>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
ViEndOfGlob
Move o cursor para o final da palavra, usando apenas espaços em branco como delimitadores.
- Modo de comando Vi:
<E>
ViEndOfPreviousGlob
Move para o final da palavra anterior, usando apenas espaços em branco como delimitador de palavras.
- A função é desvinculada.
ViGotoBrace
Semelhante ao GotoBrace, mas é baseado em caracteres em vez de baseado em token.
- Modo de comando Vi:
<%>
ViNextGlob
Move para a próxima palavra, usando apenas espaços em branco como um delimitador de palavras.
- Modo de comando Vi:
<W>
ViNextWord
Mova o cursor para frente até o início da próxima palavra. Os limites das palavras são definidos por um conjunto configurável de caracteres.
- Modo de comando Vi:
<w>
Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
Funções de histórico
Começo da História
Vá para o primeiro item do histórico.
- Modo Emacs:
<Alt+<>
Limpar História
Limpa o histórico no PSReadLine. Isso não afeta o histórico do PowerShell.
- Modo Windows:
<Alt+F7>
Fim da história
Mover para o último item (a entrada atual) no histórico.
- Modo Emacs:
<Alt+>>
ForwardSearchHistory
Execute uma pesquisa incremental no histórico.
- Modo Windows:
<Ctrl+s>
- Modo Emacs:
<Ctrl+s>
HistorySearchBackward
Substitua a entrada atual pelo item 'anterior' do histórico PSReadLine que corresponde aos caracteres entre o início e a entrada e o cursor.
- Modo Windows:
<F8>
HistóriaPesquisaEncaminhar
Substitua a entrada atual pelo item 'próximo' do histórico PSReadLine que corresponde aos caracteres entre o início e a entrada e o cursor.
- Modo Windows:
<Shift+F8>
PróximoHistória
Substitua a entrada atual pelo item 'próximo' do histórico PSReadLine.
- Modo Windows:
<DownArrow>
- Modo Emacs:
<DownArrow>
,<Ctrl+n>
- Modo de inserção Vi:
<DownArrow>
- Modo de comando Vi:
<DownArrow>
,<j>
,<+>
AnteriorHistória
Substitua a entrada atual pelo item 'anterior' do histórico PSReadLine.
- Modo Windows:
<UpArrow>
- Modo Emacs:
<UpArrow>
,<Ctrl+p>
- Modo de inserção Vi:
<UpArrow>
- Modo de comando Vi:
<UpArrow>
,<k>
,<->
ReverseSearchHistory
Execute uma pesquisa incremental para trás no histórico.
- Modo Windows:
<Ctrl+r>
- Modo Emacs:
<Ctrl+r>
ViSearchHistoryBackward
Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.
- Modo de inserção Vi:
<Ctrl+r>
- Modo de comando Vi:
</>
,<Ctrl+r>
Funções de conclusão
Concluir
Tente realizar a conclusão no texto ao redor do cursor. Se houver várias conclusões possíveis, o prefixo inequívoco mais longo será usado para conclusão. Se estiver tentando concluir a conclusão inequívoca mais longa, uma lista de conclusões possíveis será exibida.
- Modo Emacs:
<Tab>
MenuComplete
Tente realizar a conclusão no texto ao redor do cursor. Se houver várias conclusões possíveis, o prefixo inequívoco mais longo será usado para conclusão. Se estiver tentando concluir a conclusão inequívoca mais longa, uma lista de conclusões possíveis será exibida.
- Modo Windows:
<Ctrl+Space>
- Modo Emacs:
<Ctrl+Space>
Conclusões possíveis
Exibir a lista de conclusões possíveis.
- Modo Emacs:
<Alt+=>
- Modo de inserção Vi:
<Ctrl+Space>
- Modo de comando Vi:
<Ctrl+Space>
TabCompleteNext
Tente concluir o texto ao redor do cursor com a próxima conclusão disponível.
- Modo Windows:
<Tab>
- Modo de comando Vi:
<Tab>
TabCompletePrevious
Tente completar o texto ao redor do cursor com a conclusão anterior disponível.
- Modo Windows:
<Shift+Tab>
- Modo de comando Vi:
<Shift+Tab>
ViTabCompleteNext
Encerra o grupo de edição atual, se necessário, e invoca TabCompleteNext.
- Modo de inserção Vi:
<Tab>
ViTabCompletePrevious
Encerra o grupo de edição atual, se necessário, e invoca TabCompletePrevious.
- Modo de inserção Vi:
<Shift+Tab>
Funções diversas
Tela de captura
Inicie a captura de tela interativa - as setas para cima / para baixo selecionam linhas, insira o texto selecionado para a área de transferência como texto e HTML.
- A função é desvinculada.
ClearScreen
Limpe a tela e desenhe a linha atual na parte superior da tela.
- Modo Windows:
<Ctrl+l>
- Modo Emacs:
<Ctrl+l>
- Modo de inserção Vi:
<Ctrl+l>
- Modo de comando Vi:
<Ctrl+l>
DigitArgument
Inicie um novo argumento de dígito para passar para outras funções. Você pode usar isso como um multiplicador para a próxima função invocada por um pressionamento de tecla. Por exemplo, pressionar <Alt+1>
<Alt+0>
define o valor do argumento do dígito como 10. Em seguida, pressionar a #
tecla envia 10 #
caracteres (##########
) para a linha de entrada.
Da mesma forma, você pode usar isso com outras operações, como <Delete>
ou Left-Arrow
.
- Modo Windows:
<Alt+0>
,<Alt+1>
,<Alt+2>
,<Alt+3>
<Alt+6>
<Alt+5>
<Alt+7>
<Alt+4>
, ,<Alt+8>
, ,<Alt+9>
<Alt+->
- Modo Emacs:
<Alt+0>
,<Alt+1>
,<Alt+2>
,<Alt+3>
<Alt+4>
,<Alt+5>
,<Alt+6>
,<Alt+7>
<Alt+8>
<Alt+9>
,<Alt+->
- Modo de comando Vi:
<0>
,<1>
,<2>
<3>
<5>
<4>
, ,<6>
,<7>
, ,<8>
<9>
Invocar Prompt
Apaga o prompt atual e chama a função de prompt para exibir novamente o prompt. Útil para manipuladores de chaves personalizadas que mudam de estado. Por exemplo, altere o diretório atual.
- A função é desvinculada.
ScrollDisplayDown
Role a tela para baixo uma tela.
- Modo Windows:
<PageDown>
- Modo Emacs:
<PageDown>
ScrollDisplayDownLine
Role a tela uma linha para baixo.
- Modo Windows:
<Ctrl+PageDown>
- Modo Emacs:
<Ctrl+PageDown>
ScrollDisplayToCursor
Role a tela até o cursor.
- Modo Emacs:
<Ctrl+End>
ScrollDisplayTop
Role a tela até o topo.
- Modo Emacs:
<Ctrl+Home>
ScrollDisplayUp
Role a tela uma tela para cima.
- Modo Windows:
<PageUp>
- Modo Emacs:
<PageUp>
ScrollDisplayUpLine
Role a tela uma linha para cima.
- Modo Windows:
<Ctrl+PageUp>
- Modo Emacs:
<Ctrl+PageUp>
Autoinserção
Insira a chave.
- A função é desvinculada.
ShowKeyBindings
Mostrar todas as chaves acopladas.
- Modo Windows:
<Ctrl+Alt+?>
- Modo Emacs:
<Ctrl+Alt+?>
- Modo de inserção Vi:
<Ctrl+Alt+?>
Modo de comando do Vi
Mude o modo de operação atual de Vi-Insert para Vi-Command.
- Modo de inserção Vi:
<Escape>
ViDigitArgumentInChord
Inicie um novo argumento de dígito para passar para outras funções enquanto estiver em um dos acordes do vi.
- A função é desvinculada.
ViEditVisualmente
Edite a linha de comando em um editor de texto especificado por $env:EDITOR
ou $env:VISUAL
.
- Modo Emacs:
<Ctrl+x,Ctrl+e>
- Modo de comando Vi:
<v>
Saída Vi
Sai do shell.
- A função é desvinculada.
Modo de inserção de vis
Mude para o modo de inserção.
- Modo de comando Vi:
<i>
O que é a chave
Leia uma chave e diga-me a que a chave está vinculada.
- Modo Windows:
<Alt+?>
- Modo Emacs:
<Alt+?>
Funções de seleção
ExchangePointAndMark
O cursor é colocado no local da marca e a marca é movida para o local do cursor.
- Modo Emacs:
<Ctrl+x,Ctrl+x>
SelectAll
Selecione a linha inteira.
- Modo Windows:
<Ctrl+a>
SelecioneBackwardChar
Ajuste a seleção atual para incluir o caractere anterior.
- Modo Windows:
<Shift+LeftArrow>
- Modo Emacs:
<Shift+LeftArrow>
SelectBackwardsLine
Ajuste a seleção atual para incluir do cursor até o início da linha.
- Modo Windows:
<Shift+Home>
- Modo Emacs:
<Shift+Home>
SelecioneBackwardWord
Ajuste a seleção atual para incluir a palavra anterior.
- Modo Windows:
<Shift+Ctrl+LeftArrow>
- Modo Emacs:
<Alt+B>
SelecioneForwardChar
Ajuste a seleção atual para incluir o próximo caractere.
- Modo Windows:
<Shift+RightArrow>
- Modo Emacs:
<Shift+RightArrow>
SelecioneEncaminharPalavra
Ajuste a seleção atual para incluir a próxima palavra usando ForwardWord.
- Modo Emacs:
<Alt+F>
Selecionar Linha
Ajuste a seleção atual para incluir do cursor até o final da linha.
- Modo Windows:
<Shift+End>
- Modo Emacs:
<Shift+End>
SelecionePróximoPalavra
Ajuste a seleção atual para incluir a próxima palavra.
- Modo Windows:
<Shift+Ctrl+RightArrow>
SelecioneShellBackwardWord
Ajuste a seleção atual para incluir a palavra anterior usando ShellBackwardWord.
- A função é desvinculada.
SelecioneShellForwardWord
Ajuste a seleção atual para incluir a próxima palavra usando ShellForwardWord.
- A função é desvinculada.
SelecioneShellPróximoWord
Ajuste a seleção atual para incluir a próxima palavra usando ShellNextWord.
- A função é desvinculada.
Marca do conjunto
Marque a localização atual do cursor para uso em um comando de edição subsequente.
- Modo Emacs:
<Ctrl+>
Pesquisar funções
Pesquisa de Personagens
Leia um caractere e procure a próxima ocorrência desse personagem. Se um argumento for especificado, pesquise para frente (ou para trás, se negativo) a enésima ocorrência.
- Modo Windows:
<F3>
- Modo Emacs:
<Ctrl+]>
- Modo de inserção Vi:
<F3>
- Modo de comando Vi:
<F3>
PersonagemPesquisaBackward
Leia um caractere e pesquise para trás a próxima ocorrência desse caractere. Se um argumento for especificado, pesquise para trás (ou para frente, se negativo) a enésima ocorrência.
- Modo Windows:
<Shift+F3>
- Modo Emacs:
<Ctrl+Alt+]>
- Modo de inserção Vi:
<Shift+F3>
- Modo de comando Vi:
<Shift+F3>
RepeatLastCharSearch
Repita a última pesquisa de caracteres registrada.
- Modo de comando Vi:
<;>
RepeatLastCharSearchBackwards
Repita a última pesquisa de caracteres registrada, mas na direção oposta.
- Modo de comando Vi:
<,>
Repetir Pesquisa
Repita a última pesquisa na mesma direção de antes.
- Modo de comando Vi:
<n>
RepeatSearchBackward
Repita a última pesquisa na mesma direção de antes.
- Modo de comando Vi:
<N>
SearchChar
Leia o próximo caractere e encontre-o, seguindo em frente.
- Modo de comando Vi:
<f>
ProcurarCharBackward
Leia o próximo caractere e encontre-o, retrocedendo.
- Modo de comando Vi:
<F>
SearchCharBackwardWithBackoff
Leia o próximo caractere e encontre-o, retrocedendo e, em seguida, recue um personagem.
- Modo de comando Vi:
<T>
SearchCharWithBackoff
Leia o próximo caractere e encontre-o, avançando e depois afastando um personagem.
- Modo de comando Vi:
<t>
Pesquisar para a frente
Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.
- Modo de inserção Vi:
<Ctrl+s>
- Modo de comando Vi:
<?>
,<Ctrl+s>
APIs de suporte a associação de teclas personalizadas
As funções a seguir são públicas em Microsoft.PowerShell.PSConsoleReadLine, mas não podem ser associadas diretamente a uma chave. A maioria é útil em atalhos de teclado personalizados.
void AddToHistory(string command)
Adicione uma linha de comando ao histórico sem executá-la.
void ClearKillRing()
Limpe o anel de morte. Isso é usado principalmente para testes.
void Delete(int start, int length)
Exclua caracteres de comprimento do início. Esta operação suporta desfazer/refazer.
void Ding()
Execute a ação Ding com base na preferência do usuário.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Essas duas funções recuperam informações úteis sobre o estado atual do buffer de entrada. O primeiro é mais comumente usado para casos simples. O segundo é usado se sua ligação estiver fazendo algo mais avançado com o Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
Essa função é usada e Get-PSReadLineKeyHandler
provavelmente não é útil em uma associação de teclas personalizada.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Essa função é usada por Get-PSReadLineOption e provavelmente não é muito útil em uma associação de teclas personalizada.
void GetSelectionState([ref] int start, [ref] int length)
Se não houver nenhuma seleção na linha de comando, a função retornará -1 em start e length. Se houver uma seleção na linha de comando, o início e o comprimento da seleção serão retornados.
void Insert(char c)
void Insert(string s)
Insira um caractere ou string no cursor. Esta operação suporta desfazer/refazer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Esse é o principal ponto de entrada para PSReadLine. Ele não dá suporte à recursão, portanto, não é útil em uma associação de teclas personalizada.
void RemoveKeyHandler(string[] key)
Essa função é usada por Remove-PSReadLineKeyHandler e provavelmente não é muito útil em uma associação de teclas personalizada.
void Replace(int start, int length, string replacement)
Substitua alguma entrada. Esta operação suporta desfazer/refazer. Isso é preferível a Excluir seguido por Inserir porque é tratado como uma única ação para desfazer.
void SetCursorPosition(int cursor)
Mova o cursor para o deslocamento fornecido. O movimento do cursor não é rastreado para desfazer.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Essa função é um método auxiliar usado pelo cmdlet Set-PSReadLineOption
, mas pode ser útil para uma associação de teclas personalizada que deseja alterar temporariamente uma configuração.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Esse método auxiliar é usado para associações personalizadas que respeitam DigitArgument. Uma chamada típica se parece com
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Observações
Comportamento do evento OnIdle
Quando PSReadLine está em uso, o evento OnIdle é acionado quando
ReadKey()
o tempo limite (sem digitação em 300 ms). O evento pode ser sinalizado enquanto o usuário está no meio da edição de uma linha de comando, por exemplo, o usuário está lendo a ajuda para decidir qual parâmetro usar.A partir do PSReadLine 2.2.0-beta4, o comportamento de OnIdle foi alterado para sinalizar o evento somente se houver um
ReadKey()
tempo limite e o buffer de edição atual estiver vazio.