about_PSReadLine_Functions
Descrição breve
O PSReadLine fornece uma experiência de edição de linha de comando aprimorada no console do PowerShell.
Descrição longa
O PowerShell 7.3 é fornecido com PSReadLine 2.2.6. 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 2.3.4. Essas funções podem ser associadas 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
Anular
Anular a ação atual, por exemplo: pesquisa de histórico incremental.
- Modo Emacs:
Ctrl+g
- Modo de inserção vi:
Ctrl+g
- Modo de comando vi:
<Ctrl+g>
AcceptAndGetNext
Tente executar a entrada atual. Se ele puder ser executado (como AcceptLine), lembre-se do próximo item do histórico na próxima vez que ReadLine for chamado.
- Modo Emacs:
Ctrl+o
AcceptLine
Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento ausente, colchete ou aspas), 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 chaves para editar a entrada atual. Isso é útil para inserir a entrada de várias linhas como um único comando, mesmo quando uma única linha for concluída 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>
BackwardDeleteInput
Como BackwardKillInput – exclui o texto do ponto até o início da entrada, 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>
BackwardDeleteLine
Como BackwardKillLine – exclui o texto do ponto até o início da linha, mas não coloca o texto excluído no kill-ring.
- Modo de comando vi:
<d,0>
BackwardDeleteWord
Exclui a palavra anterior.
- Modo de comando Vi:
<Ctrl+w>
,<d,b>
BackwardKillInput
Limpe o texto do início da entrada para o cursor. O texto limpo é colocado no anel de encerramento.
- Modo Emacs:
Ctrl+u
,Ctrl+x,Backspace
BackwardKillLine
Limpe o texto do início da linha lógica atual para o cursor. O texto limpo é colocado no anel de encerramento.
- A função é desvinculada.
BackwardKillWord
Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre palavras, a entrada será desmarcada do início da palavra anterior para o cursor. O texto limpo é colocado no anel de encerramento.
- Modo windows:
Ctrl+Backspace
,Ctrl+w
- Modo Emacs:
Alt+Backspace
,Escape,Backspace
- Modo de inserção vi:
Ctrl+Backspace
- Modo de comando vi:
<Ctrl+Backspace>
BackwardReplaceChar
Substitui o caractere na frente do cursor.
- Modo de comando vi:
<c,h>
CancelLine
Cancele a entrada atual, deixando a entrada na tela, mas retorna para o host para que o prompt seja avaliado novamente.
- Modo de inserção vi:
Ctrl+c
- Modo de comando vi:
<Ctrl+c>
CapitalizeWord
Adicionado no PSReadLine 2.3.0
Converta o primeiro caractere da próxima palavra em maiúsculas e minúsculas e os caracteres restantes em letras minúsculas.
- Modo Emacs:
Alt+c
,Escape,c
Copiar
Copie a região selecionada para a área de transferência do sistema. Se nenhuma região estiver selecionada, copie toda a linha.
- Modo windows:
Ctrl+C
CopyOrCancelLine
Se o texto estiver selecionado, copie para a área de transferência, caso contrário, cancele a linha.
- Modo windows:
Ctrl+c
- Modo Emacs:
Ctrl+c
Recortar
Exclua a região selecionada colocando o texto excluído na área de transferência do sistema.
- Modo windows:
Ctrl+x
DeleteChar
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,Spacebar>
DeleteCharOrExit
Exclua o caractere sob o cursor ou, se a linha estiver vazia, saia do processo.
- Modo Emacs:
Ctrl+d
DeleteEndOfBuffer
Exclui até o final do buffer de várias linhas.
- Modo de comando Vi:
<d,G>
DeleteEndOfWord
Exclua até o final da palavra.
- Modo de comando Vi:
<d,e>
DeleteLine
Exclui a linha lógica atual de um buffer de várias linhas, permitindo desfazer.
- Modo de comando Vi:
<d,d>
,<d,_>
DeleteLineToFirstChar
Exclui do primeiro caractere não em branco da linha lógica atual em um buffer de várias linhas.
- Modo de comando Vi:
<d,^>
DeleteNextLines
Exclui as linhas lógicas atuais e as próximas n em um buffer de várias linhas.
- Modo de comando Vi:
<d,j>
DeletePreviousLines
Exclui as linhas lógicas solicitadas anteriormente e a linha lógica atual em um buffer de várias linhas.
- Modo de comando Vi:
<d,k>
DeleteRelativeLines
Exclui do início do buffer para a linha lógica atual em um buffer de várias linhas.
Como a maioria dos comandos Vi, o <d,g,g>
comando pode ser anexado com um argumento numérico que especifica um número de linha absoluto, que, juntamente com o número de linha atual, compõem um intervalo de linhas a serem excluídas. Se não for especificado, o argumento numérico usará como padrão 1, que se refere à primeira linha lógica em um buffer de várias linhas.
O número real de linhas a serem excluídas da várias linhas é computado como a diferença entre o número de linha lógica atual e o argumento numérico especificado, que, portanto, pode ser negativo. Portanto, a parte relativa do nome do método.
- Modo de comando Vi:
<d,g,g>
DeleteToEnd
Exclua até o final da linha.
- Modo de comando Vi:
<D>
,<d,$>
DeleteWord
Exclua a próxima palavra.
- Modo de comando Vi:
<d,w>
DowncaseWord
Adicionado no PSReadLine 2.3.0
Converta a próxima palavra em letras minúsculas.
- Modo Emacs:
Alt+l
,Escape,l
ForwardDeleteInput
Como KillLine – exclui o texto do ponto até o final da entrada, 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>
ForwardDeleteLine
Exclui o texto do ponto até o final da linha lógica atual, mas não coloca o texto excluído no kill-ring.
- A função está desvinculada
InsertLineAbove
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 o caso do caractere atual e vá para o próximo.
- Modo de comando Vi:
<~>
KillLine
Limpe a entrada do cursor até o final da entrada. O texto limpo é colocado no kill-ring.
- Modo Emacs:
Ctrl+k
KillRegion
Encerre o texto entre o cursor e a marca.
- A função não está relacionada.
KillWord
Limpe a entrada do cursor até o final da palavra atual. Se o cursor estiver entre palavras, a entrada será limpa do cursor até o final da próxima palavra. O texto limpo é colocado no kill-ring.
- Modo windows:
Alt+d
,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 Colar , todo o conteúdo do buffer da área de transferência é colado no buffer de entrada do PSReadLine. Em seguida, o buffer de entrada é passado para o analisador do PowerShell. A entrada colada usando o método de colagem de clique 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 um comportamento de execução diferente.
PasteAfter
Cole a área de transferência após o cursor, movendo o cursor para o final do texto colado.
- Modo de comando Vi:
<p>
PasteBefore
Cole a área de transferência antes do cursor, movendo o cursor para o final do texto colado.
- Modo de comando Vi:
<P>
PrependAndAccept
Acrescente um '#' e aceite a linha.
- Modo de comando Vi:
<#>
Refazer
Desfazer uma desfaça.
- 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:
<.>
ReplaceChar
Substitua o caractere atual pelo próximo conjunto de caracteres digitado.
- Modo de comando Vi:
<c,l>
,<c,Spacebar>
ReplaceCharInPlace
Substitua o caractere atual por apenas um caractere.
- Modo de comando Vi:
<r>
RevertLine
Reverte toda a entrada 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 palavras, a entrada será desmarcada do início da palavra anterior para o cursor. O texto limpo é colocado no kill-ring.
A função não está relacionada.
ShellKillWord
Limpe a entrada do cursor até o final da palavra atual. Se o cursor estiver entre palavras, a entrada será limpa do cursor até o final da próxima palavra. O texto limpo é colocado no kill-ring.
A função não está relacionada.
SwapCharacters
Troque o caractere atual e o antes dele.
- Modo Emacs:
Ctrl+t
- Modo de inserção vi:
Ctrl+t
- Modo de comando Vi:
<Ctrl+t>
Desfazer
Desfazer 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>
UndoAll
Desfazer 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 palavras, a entrada será desmarcada do início da palavra anterior para o cursor. O texto limpo é colocado no kill-ring.
- Modo Emacs:
Ctrl+w
UpcaseWord
Adicionado no PSReadLine 2.3.0
Converta a próxima palavra em maiúsculas.
- Modo Emacs:
Alt+u
,Escape,u
ValidateAndAcceptLine
Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento, colchete ou aspas ausentes), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará que as chaves editem a entrada atual.
- Modo Emacs:
Ctrl+m
ViAcceptLine
Aceite a linha e alterne para o modo Inserir.
- 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ço em branco como delimitador de palavra.
- Modo de comando Vi:
<d,B>
ViBackwardGlob
Move o cursor de volta para o início da palavra anterior, usando apenas espaço em branco como delimitadores.
- Modo de comando Vi:
<B>
ViBackwardReplaceGlob
Exclua para trás até o início da palavra anterior, como delimitado por espaço em branco, e insira o modo de inserção.
- Modo de comando Vi:
<c,B>
ViBackwardReplaceLine
Substitui a linha esquerda do cursor e todo o caminho até o início.
- Modo de comando Vi:
<c,0>
ViBackwardReplaceLineToFirstChar
Substitui a linha esquerda do cursor e todos, exceto um caractere, até o início da linha.
- Modo de comando Vi:
<c,^>
ViBackwardReplaceWord
Substitua a palavra anterior.
- Modo de comando Vi:
<c,B>
ViDeleteBrace
Localize a chave, parênteses ou colchetes correspondentes e exclua todo o conteúdo dentro, 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é o caractere especificado.
- Modo de comando Vi:
<d,t>
ViDeleteToBeforeCharBackward
Exclui até o caractere especificado.
- Modo de comando Vi:
<d,T>
ViDeleteToChar
Exclui até o caractere especificado.
- Modo de comando Vi:
<d,f>
ViDeleteToCharBackward
Exclui para trás até o caractere especificado.
- 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
Acrescente 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
Une a linha atual e a próxima linha.
- Modo de comando vi:
<J>
ViReplaceBrace
Substitua todos os caracteres entre o caractere de chave atual e o parceiro correspondente.
- Modo de comando vi:
<c,%>
ViReplaceEndOfGlob
Exclua até o final da palavra, como delimitado por espaço em branco, e insira o modo de inserção.
- Modo de comando vi:
<c,E>
ViReplaceEndOfWord
Exclua até o final da palavra, como delimitado por espaço em branco e delimitadores comuns, e insira o modo de inserção.
- Modo de comando vi:
<c,E>
ViReplaceGlob
Exclua para o início da próxima palavra, como delimitado pelo espaço em branco, e insira o modo de inserção.
- Modo de comando vi:
<c,W>
ViReplaceLine
Apagar toda a linha de comando.
- Modo de comando Vi:
<S>
,<c,c>
ViReplaceToBeforeChar
Substitui até determinado caractere.
- Modo de comando vi:
<c,t>
ViReplaceToBeforeCharBackward
Substitui até determinado caractere.
- Modo de comando vi:
<c,T>
ViReplaceToChar
Exclui até determinado caractere.
- Modo de comando vi:
<c,f>
ViReplaceToCharBackward
Substitui até determinado caractere.
- Modo de comando vi:
<c,F>
ViReplaceToEnd
Substitua os caracteres da posição do cursor até o final da linha.
- Modo de comando Vi:
<c,$>
,<C>
ViReplaceUntilEsc
Substitua o caractere atual até que um escape seja inserido ou a linha seja aceita.
- Modo de comando vi:
<r>
ViReplaceWord
Substitua a palavra atual.
- Modo de comando vi:
<c,W>
ViYankBeginningOfLine
Puxe do início do buffer para o cursor.
- Modo de comando vi:
<y,0>
ViYankEndOfGlob
Puxe do cursor até o final do WORD(s).
- Modo de comando vi:
<y,E>
ViYankEndOfWord
Puxe do cursor até o final da(s) palavra(s).
- Modo de comando vi:
<y,e>
ViYankLeft
Puxe caracteres à 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 do próximo WORD(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 chave correspondente.
- Modo de comando vi:
<y,%>
ViYankPreviousGlob
Puxe do início do WORD(s) para o cursor.
- Modo de comando vi:
<y,B>
ViYankPreviousWord
Puxe a(s) palavra(s) antes do cursor.
- Modo de comando vi:
<y,b>
ViYankRight
Puxe caracteres sob e à direita do cursor.
- Modo de comando Vi:
<y,l>
,<y,Spacebar>
ViYankToEndOfLine
Puxe do cursor até o final do buffer.
- Modo de comando vi:
<y,$>
ViYankToFirstChar
Puxe do primeiro caractere não whitespace para o cursor.
- Modo de comando vi:
<y,^>
Ianque
Adicione o texto morto mais recentemente à entrada.
- Modo Emacs:
Ctrl+y
YankLastArg
Puxe o último argumento da linha de histórico anterior. Com um argumento, a primeira vez que ele é invocado, comporta-se como YankeeNthArg. Se invocado várias vezes, em vez disso, itera através do histórico e arg define a direção (negativo inverte a direção.)
- Modo windows:
Alt+.
- Modo Emacs:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankeeNthArg
Puxe o primeiro argumento (após o comando) da linha de histórico anterior. Com um argumento , puxe o nº argumento (começando a partir de 0), se o argumento for negativo, comece a partir do último argumento.
- Modo Emacs:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Se a operação anterior for Ianque ou IanquePop, substitua o texto anteriormente arrancado pelo próximo texto morto do anel de morte.
- Modo Emacs:
Alt+y
,Escape,y
Funções de conclusão
Concluir
Tente executar 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 executar 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+@
,Ctrl+Spacebar
- Modo Emacs:
Ctrl+Spacebar
PossibleCompletions
Exiba a lista de conclusões possíveis.
- Modo Emacs:
Alt+=
- Modo de inserção vi:
Ctrl+Spacebar
- Modo de comando vi:
<Ctrl+Spacebar>
TabCompleteNext
Tente concluir o texto em torno do cursor com a próxima conclusão disponível.
- Modo windows:
Tab
- Modo de comando vi:
<Tab>
TabCompletePrevious
Tente concluir o texto em torno do cursor com a conclusão disponível anterior.
- 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 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
BackwardWord
Mova o cursor de volta para o início da palavra atual ou, se entre palavras, o início da palavra anterior. Word limites 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 palavra são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
BeginningOfLine
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>
EndOfLine
Se a entrada tiver várias linhas, mova 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
ForwardWord
Mova o cursor para o final da palavra atual ou, se houver palavras, para o final da próxima palavra. Word limites são definidos por um conjunto configurável de caracteres.
- Modo Emacs:
Alt+f
,Escape,f
Os caracteres que definem limites de palavra 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 correspondente, parêntese ou colchete.
- Modo windows:
Ctrl+]
- Modo de inserção vi:
Ctrl+]
- Modo de comando vi:
<Ctrl+]>
GotoColumn
Mova 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:
<^>
,<_>
MoveToEndOfLine
Mova o cursor para o final da entrada.
- Modo de comando Vi:
<End>
,<$>
MoveToFirstLine
Vá para a primeira linha em um comando de várias linhas.
- Modo de comando vi:
<g,g>
MoveToLastLine
Vá para a última linha em um comando de várias linhas.
- Modo de comando vi:
<G>
NextLine
Mova o cursor para a próxima linha.
- A função é desvinculada.
NextWord
Mova o cursor para o início da próxima palavra. Word limites 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 palavra são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
NextWordEnd
Mova o cursor para o final da palavra atual ou, se houver palavras, para o final da próxima palavra. Word limites são definidos por um conjunto configurável de caracteres.
- Modo de comando vi:
<e>
Os caracteres que definem limites de palavra são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
PreviousLine
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 entre palavras, o início da palavra anterior. Word limites são definidos por tokens do PowerShell.
- A função é desvinculada.
ShellForwardWord
Mova o cursor para o início da próxima palavra. Word limites são definidos por tokens do PowerShell.
- A função é desvinculada.
ShellNextWord
Mova o cursor para o final da palavra atual ou, se houver palavras, para o final da próxima palavra. Word limites são definidos por tokens do PowerShell.
- A função é desvinculada.
ViBackwardChar
Mova o cursor um caractere para a esquerda no modo de edição Vi. Isso pode mover o cursor para a linha anterior de entrada de várias linhas.
- Modo de inserção vi:
LeftArrow
- Modo de comando vi:
<LeftArrow>
,<Backspace>
,<h>
ViBackwardWord
Mova o cursor de volta para o início da palavra atual ou, se entre palavras, o início da palavra anterior. Word limites são definidos por um conjunto configurável de caracteres.
- Modo de comando vi:
<b>
Os caracteres que definem limites de palavra são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.
ViEndOfGlob
Mova o cursor para o final desta palavra, conforme delimitado pelo espaço em branco.
- Modo de comando vi:
<E>
ViEndOfPreviousGlob
Move para o final da palavra anterior, usando apenas o espaço em branco como um delimitador de palavras.
- A função é desvinculada.
ViForwardChar
Mova o cursor um caractere para a direita no modo de edição Vi. Isso pode mover o cursor para a próxima linha de entrada de várias linhas.
- Modo de inserção vi:
RightArrow
- Modo de comando vi:
<RightArrow>
,<Spacebar>
,<l>
ViGotoBrace
Semelhante a GotoBrace, mas é baseado em caractere em vez de baseado em token.
- Modo de comando vi:
<%>
ViNextGlob
Move para a próxima palavra, usando apenas o espaço em branco como um delimitador de palavras.
- Modo de comando vi:
<W>
ViNextWord
Mova o cursor para o início da próxima palavra. Word limites são definidos por um conjunto configurável de caracteres.
- Modo de comando vi:
<w>
Os caracteres que definem limites de palavra 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
BeginningOfHistory
Mova para o primeiro item do histórico.
- Modo Emacs:
Alt+<
ClearHistory
Limpa o histórico no PSReadLine. Isso não afeta o histórico do PowerShell.
- Modo windows:
Alt+F7
EndOfHistory
Mova para o último item (a entrada atual) no histórico.
- Modo Emacs:
Alt+>
ForwardSearchHistory
Execute uma pesquisa de encaminhamento incremental por meio do histórico.
- Modo windows:
Ctrl+s
- Modo Emacs:
Ctrl+s
- Modo de inserção vi:
Ctrl+s
- Modo de comando vi:
<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
HistorySearchForward
Substitua a entrada atual pelo item 'next' do histórico PSReadLine que corresponde aos caracteres entre o início e a entrada e o cursor.
- Modo windows:
Shift+F8
NextHistory
Substitua a entrada atual pelo item 'next' do histórico PSReadLine.
- Modo windows:
DownArrow
- Modo Emacs:
DownArrow
,Ctrl+n
- Modo de inserção vi:
DownArrow
- Modo de comando vi:
<DownArrow>
,<j>
,<+>
PreviousHistory
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 com versões anteriores por meio do histórico.
- Modo windows:
Ctrl+r
- Modo Emacs:
Ctrl+r
- Modo de inserção vi:
Ctrl+r
- Modo de comando vi:
<Ctrl+r>
ViSearchHistoryBackward
Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.
- Modo de comando vi:
</>
Funções diversas
CaptureScreen
Iniciar captura de tela interativa – setas para cima/para baixo selecionam linhas, insira cópias de texto selecionado na área de transferência como texto e HTML.
- A função é desvinculada.
ClearScreen
Desmarque 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 que é invocada por um keypress. Por exemplo, pressionar <Alt+1>
<Alt+0>
define o valor de argumento de 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+4
,Alt+5
,Alt+6
,Alt+7
,Alt+8
, ,Alt+9
,Alt+-
- Modo Emacs:
Alt+0
, ,Alt+1
,Alt+2
,Alt+3
,Alt+5
Alt+4
,Alt+6
,Alt+7
, ,Alt+8
, ,Alt+9
,Alt+-
- Modo de comando Vi:
<0>
,<1>
, ,<2>
,<3>
,<4>
,<5>
<6>
, ,<7>
, ,<8>
<9>
InvokePrompt
Apaga o prompt atual e chama a função prompt para redisplay do prompt. Útil para manipuladores de chaves personalizados que alteram o estado. Por exemplo, altere o diretório atual.
- A função é desvinculada.
ScrollDisplayDown
Role a tela para baixo em uma tela.
- Modo windows:
PageDown
- Modo Emacs:
PageDown
ScrollDisplayDownLine
Role a tela para baixo em uma linha.
- Modo windows:
Ctrl+PageDown
- Modo Emacs:
Ctrl+PageDown
ScrollDisplayToCursor
Role a tela até o cursor.
- Modo Emacs:
Ctrl+End
ScrollDisplayTop
Role a tela até a parte superior.
- Modo Emacs:
Ctrl+Home
ScrollDisplayUp
Role a tela para cima.
- Modo windows:
PageUp
- Modo Emacs:
PageUp
ScrollDisplayUpLine
Role a tela para cima em uma linha.
- Modo windows:
Ctrl+PageUp
- Modo Emacs:
Ctrl+PageUp
ShowCommandHelp
Fornece uma exibição da ajuda completa do cmdlet. Quando o cursor está no final de um parâmetro totalmente expandido, atingir a <F1>
chave posiciona a exibição de ajuda no local desse parâmetro.
A ajuda é exibida em um buffer de tela alternativo usando um Pager do Microsoft.PowerShell.Pager. Ao sair do pager, você é retornado para a posição do cursor original na tela original. Esse pager só funciona em aplicativos de terminal modernos, como Terminal do Windows.
- Modo windows:
F1
- Modo Emacs:
F1
- Modo de inserção vi:
F1
- Modo de comando vi:
<F1>
ShowKeyBindings
Mostrar todas as chaves associadas.
- Modo windows:
Ctrl+Alt+?
- Modo Emacs:
Ctrl+Alt+?
- Modo de inserção vi:
Ctrl+Alt+?
ShowParameterHelp
Fornece ajuda dinâmica para parâmetros mostrando-a abaixo da linha de comando atual, como MenuComplete
. O cursor deve estar no final do nome do parâmetro totalmente expandido quando você pressiona a <Alt+h>
tecla.
- Modo windows:
Alt+h
- Modo Emacs:
Alt+h
- Modo de inserção vi:
Alt+h
- Modo de comando vi:
<Alt+h>
ViCommandMode
Alterne o modo operacional 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 de vi.
- A função é desvinculada.
ViEditVisually
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>
ViExit
Sai do shell.
- A função é desvinculada.
ViInsertMode
Alterne para o modo Inserir.
- Modo de comando vi:
<i>
WhatIsKey
Leia uma chave e me diga a qual chave está associada.
- Modo windows:
Alt+?
- Modo Emacs:
Alt+?
Funções de previsão
AcceptNextSuggestionWord
Aceitar a próxima palavra da sugestão embutida ou selecionada
- A função é desvinculada.
AcceptSuggestion
Ao usar InlineView
como o estilo de exibição para previsão, aceite a sugestão embutida atual.
- A função é desvinculada.
NextSuggestion
Ao usar ListView
como o estilo de exibição para previsão, navegue até a próxima sugestão na lista.
- A função não está relacionada.
PreviousSuggestion
Ao usar ListView
como o estilo de exibição para previsão, navegue até a sugestão anterior na lista.
- A função não está relacionada.
ShowFullPredictionTooltip
Mostrar a dica de ferramenta do item de lista selecionado no momento na exibição completa.
- Modo windows:
F4
- Modo Emacs:
F4
- Modo de inserção vi:
F4
SwitchPredictionView
Alterne o estilo de exibição para previsão entre InlineView
e ListView
.
- Modo windows:
F2
- Modo Emacs:
F2
- Modo de inserção vi:
F2
Pesquisa funções
CharacterSearch
Leia um caractere e pesquise a próxima ocorrência desse caractere. Se um argumento for especificado, pesquise para frente (ou para trás se negativo) para a nª ocorrência.
- Modo windows:
F3
- Modo Emacs:
Ctrl+]
- Modo de inserção vi:
F3
- Modo de comando Vi:
<F3>
CharacterSearchBackward
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) para a nª 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 gravada.
- Modo de comando Vi:
<;>
RepeatLastCharSearchBackwards
Repita a última pesquisa de caracteres gravada, mas na direção oposta.
- Modo de comando Vi:
<,>
RepeatSearch
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, em seguida, encontre-o, daqui para frente.
- Modo de comando Vi:
<f>
SearchCharBackward
Leia o próximo caractere e, em seguida, encontre-o, indo para trás.
- Modo de comando Vi:
<F>
SearchCharBackwardWithBackoff
Leia o próximo caractere e, em seguida, encontre-o, indo para trás e, em seguida, desative um caractere.
- Modo de comando Vi:
<T>
SearchCharWithBackoff
Leia o próximo caractere e, em seguida, encontre-o, daqui para frente e, em seguida, desative um caractere.
- Modo de comando Vi:
<t>
Searchforward
Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.
- Modo de comando Vi:
<?>
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
SelectBackwardChar
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
SelectBackwardWord
Ajuste a seleção atual para incluir a palavra anterior.
- Modo windows:
Shift+Ctrl+LeftArrow
- Modo Emacs:
Alt+B
SelectCommandArgument
Faça a seleção visual dos argumentos de comando. A seleção de argumentos tem como escopo um bloco de script. Com base na posição do cursor, ele pesquisa do bloco de script mais interno até o bloco de script mais distante e para quando encontra argumentos em um escopo de bloco de script.
Essa função respeita DigitArgument. Ele trata os valores de argumento positivos ou negativos como deslocamentos para frente ou para trás do argumento selecionado no momento ou da posição atual do cursor quando nenhum argumento é selecionado.
- Modo windows:
Alt+a
- Modo Emacs:
Alt+a
SelectForwardChar
Ajuste a seleção atual para incluir o próximo caractere.
- Modo windows:
Shift+RightArrow
- Modo Emacs:
Shift+RightArrow
SelectForwardWord
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
SelectNextWord
Ajuste a seleção atual para incluir a próxima palavra.
- Modo windows:
Shift+Ctrl+RightArrow
SelectShellBackwardWord
Ajuste a seleção atual para incluir a palavra anterior usando ShellBackwardWord.
- A função não está relacionada.
SelectShellForwardWord
Ajuste a seleção atual para incluir a próxima palavra usando ShellForwardWord.
- A função não está relacionada.
SelectShellNextWord
Ajuste a seleção atual para incluir a próxima palavra usando ShellNextWord.
- A função não está relacionada.
SetMark
Marque o local atual do cursor para uso em um comando de edição subsequente.
- Modo Emacs:
Ctrl+@
APIs de suporte à associação de chave personalizada
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 associações de chave personalizadas.
void AddToHistory(string command)
Adicione uma linha de comando ao histórico sem executá-la.
void ClearKillRing()
Limpe o kill-ring. Isso é usado principalmente para teste.
void Delete(int start, int length)
Exclua caracteres de comprimento desde o início. Esta operação dá suporte a 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 será usado se a associação estiver fazendo algo mais avançado com o Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Essas duas funções são usadas por Get-PSReadLineKeyHandler
. O primeiro é usado para obter todas as associações de chave. O segundo é usado para obter associações de chave específicas.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Essa função é usada por Get-PSReadLineOption e provavelmente não é muito útil em uma associação de chave personalizada.
void GetSelectionState([ref] int start, [ref] int length)
Se não houver seleção na linha de comando, a função retornará -1 no início e no comprimento. 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 uma cadeia de caracteres no cursor. Esta operação dá suporte a desfazer/refazer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Esse é o ponto de entrada main para PSReadLine. Ele não dá suporte à recursão, portanto, não é útil em uma associação de chave personalizada.
void RemoveKeyHandler(string[] key)
Essa função é usada por Remove-PSReadLineKeyHandler e provavelmente não é muito útil em uma associação de chave personalizada.
void Replace(int start, int length, string replacement)
Substitua alguma entrada. Esta operação dá suporte a desfazer/refazer. Isso é preferencial em vez de 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 chave 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()
atinge o tempo limite (sem digitar em 300ms). 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 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.