about_PSReadLine_Functions
Descrição curta
O PSReadLine fornece uma experiência aprimorada de edição de linha de comando no console do PowerShell.
Descrição longa
O PowerShell 7.3 é fornecido com o 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 teclas 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
Abortar
Anulação da 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 em 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 o 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 o 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 é a 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>
BackwardDeleteInput
Assim como BackwardKillInput - exclui o texto do ponto até o início da entrada, mas não coloca o texto excluído no anel de exclusão.
- Modo windows:
Ctrl+Home
- Modo de inserção vi:
Ctrl+u
,Ctrl+Home
- Modo de comando Vi:
<Ctrl+u>
,<Ctrl+Home>
BackwardDeleteLine
Assim como o 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
Desmarque o texto do início da entrada para o cursor. O texto desmarcado é colocado no anel de eliminação.
- Modo emacs:
Ctrl+u
,Ctrl+x,Backspace
BackwardKillLine
Desmarque o texto do início da linha lógica atual para o cursor. O texto desmarcado é colocado no anel de eliminação.
- A função não está relacionada.
BackwardKillWord
Desmarque 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 desmarcado é colocado no anel de eliminação.
- 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 retorne ao 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 a linha inteira.
- 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
Cortar
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
Excluir até o final da palavra.
- Modo de comando vi:
<d,e>
DeleteLine
Exclui a linha lógica atual de um buffer multilinha, 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 seguintes 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 comando <d,g,g>
pode ser acrescentado 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 padrão será 1, que se refere à primeira linha lógica em um buffer multilinha.
O número real de linhas a serem excluídas da multilinha é computado como a diferença entre o número de linha lógica atual e o argumento numérico especificado, que pode, portanto, ser negativo. Portanto, o relativo parte do nome do método.
- Modo de comando vi:
<d,g,g>
DeleteToEnd
Excluir 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
Assim como KillLine - exclui o texto do ponto até o final da entrada, mas não coloca o texto excluído no anel de exclusão.
- 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 anel de exclusão.
- A função é desvinculada
InsertLineAbove
Uma nova linha vazia é criada acima da linha atual, independentemente de onde o cursor esteja na linha atual. O cursor passa 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 passa 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
Desmarque a entrada do cursor até o final da entrada. O texto desmarcado é colocado no anel de eliminação.
- Modo Emacs:
Ctrl+k
KillRegion
Mate o texto entre o cursor e a marca.
- A função não está relacionada.
KillWord
Desmarque a entrada do cursor até o final da palavra atual. Se o cursor estiver entre palavras, a entrada será desmarcada do cursor até o final da próxima palavra. O texto desmarcado é colocado no anel de eliminação.
- 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 aplicativo de console clique com o botão direito do mouse método de colagem é copiada para o buffer de entrada um caractere de cada vez. O buffer de entrada é passado para o analisador quando um caractere de nova linha é copiado. Portanto, a entrada é analisada uma linha de cada vez. A diferença entre 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
Prepare um '#' e aceite a linha.
- Modo de comando vi:
<#>
Refazer
Desfazer uma 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:
<.>
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
Desmarque 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 desmarcado é colocado no anel de eliminação.
A função não está relacionada.
ShellKillWord
Desmarque a entrada do cursor até o final da palavra atual. Se o cursor estiver entre palavras, a entrada será desmarcada do cursor até o final da próxima palavra. O texto desmarcado é colocado no anel de eliminação.
A função não está relacionada.
SwapCharacters
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
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 para linha.
- Modo de comando vi:
<U>
UnixWordRubout
Desmarque 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 desmarcado é colocado no anel de eliminação.
- Modo Emacs:
Ctrl+w
UpcaseWord
Adicionado no PSReadLine 2.3.0
Converta a próxima palavra em maiúsculas e minú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 ausente, colchete ou aspas), o prompt de continuação será exibido na próxima linha e o PSReadLine aguardará as chaves editarem 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 o espaço 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 o 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 pelo 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, para 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 correspondente, parênteses ou colchete e exclua todo o conteúdo dentro, incluindo a chave.
- Modo de comando vi:
<d,%>
ViDeleteEndOfGlob
Excluir 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é determinado caractere.
- Modo de comando vi:
<d,t>
ViDeleteToBeforeCharBackward
Exclui até determinado caractere.
- Modo de comando vi:
<d,T>
ViDeleteToChar
Exclui até determinado caractere.
- Modo de comando vi:
<d,f>
ViDeleteToCharBackward
Exclui para trás até determinado caractere.
- 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 por espaço em branco, e insira o modo de inserção.
- Modo de comando vi:
<c,W>
ViReplaceLine
Apago 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 uma escape seja inserida 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 palavra 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 para baixo 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 é invocado, comporta-se como YankNthArg. Se invocado várias vezes, em vez disso, itera por meio do histórico e o arg define a direção (negativo inverte a direção).)
- Modo windows:
Alt+.
- Modo emacs:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankNthArg
Puxe o primeiro argumento (após o comando) da linha de histórico anterior. Com um argumento, remova o nth argumento (a partir de 0), se o argumento for negativo, comece do último argumento.
- Modo emacs:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Se a operação anterior fosse Yank ou YankPop, substitua o texto anteriormente arrancado pelo texto morto seguinte do anel de eliminação.
- Modo emacs:
Alt+y
,Escape,y
Funções de conclusão
Completar
Tente executar a conclusão no texto ao redor do cursor. Se houver várias conclusões possíveis, o prefixo inequívoca 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ívoca 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
Termina o grupo de edição atual, se necessário, e invoca TabCompleteNext.
- Modo de inserção vi:
Tab
ViTabCompletePrevious
Termina 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
Palavra anterior
Mova o cursor de volta para o início da palavra atual ou, se entre palavras, o início da palavra anterior. Os limites do Word 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
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, 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
ForwardWord
Mova o cursor para a frente até o final da palavra atual, ou se entre palavras, para o final da próxima palavra. Os limites do Word 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
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 multilinha.
- 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 não está relacionada.
NextWord
Mova o cursor para a frente até o início da próxima palavra. Os limites do Word 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
NextWordEnd
Mova o cursor para a frente até o final da palavra atual, ou se entre palavras, para o final da próxima palavra. Os limites do Word 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
PreviousLine
Mova o cursor para a linha anterior.
- A função não está relacionada.
ShellBackwardWord
Mova o cursor de volta para o início da palavra atual ou, se entre palavras, o início da palavra anterior. Os limites do Word são definidos por tokens do PowerShell.
- A função não está relacionada.
ShellForwardWord
Mova o cursor para a frente até o início da próxima palavra. Os limites do Word são definidos por tokens do PowerShell.
- A função não está relacionada.
ShellNextWord
Mova o cursor para a frente até o final da palavra atual, ou se entre palavras, para o final da próxima palavra. Os limites do Word são definidos por tokens do PowerShell.
- A função não está relacionada.
ViBackwardChar
Mova o cursor um caractere para a esquerda no modo de edição do 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. Os limites do Word 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
ViEndOfGlob
Mova o cursor para o final desta palavra, como delimitado pelo espaço em branco.
- Modo de comando vi:
<E>
ViEndOfPreviousGlob
Move-se para o final da palavra anterior, usando apenas o espaço em branco como delimitador de palavras.
- A função não está relacionada.
ViForwardChar
Mova o cursor um caractere para a direita no modo de edição do 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 delimitador de palavras.
- Modo de comando vi:
<W>
ViNextWord
Mova o cursor para a frente até o início da próxima palavra. Os limites do Word 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
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 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
Inicie a captura de tela interativa – setas para cima/para baixo selecionem linhas, insira cópias de texto selecionado para área de transferência como texto e HTML.
- A função não está relacionada.
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 usá-lo como um multiplicador para a próxima função que é invocada por uma tecla. Por exemplo, pressionar #
envia 10 #
caracteres (##########
) para a linha de entrada.
Da mesma forma, você pode usá-lo 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+4
,Alt+5
,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 de 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 não está relacionada.
ScrollDisplayDown
Role a exibição para baixo em uma tela.
- Modo windows:
PageDown
- Modo Emacs:
PageDown
ScrollDisplayDownLine
Role a exibição para baixo em uma linha.
- Modo windows:
Ctrl+PageDown
- Modo Emacs:
Ctrl+PageDown
ScrollDisplayToCursor
Role a exibição até o cursor.
- Modo Emacs:
Ctrl+End
ScrollDisplayTop
Role a exibição até a parte superior.
- Modo Emacs:
Ctrl+Home
ScrollDisplayUp
Role a tela para cima em uma tela.
- 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 o <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 de Microsoft.PowerShell.Pager. Ao sair do pager, você é retornado para a posição original do cursor na tela original. Esse pager só funciona em aplicativos de terminal modernos, como do 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-o abaixo da linha de comando atual, como MenuComplete
. O cursor deve estar no final do nome do parâmetro totalmente expandido quando você pressionar a tecla <Alt+h>
.
- 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 não está relacionada.
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 não está relacionada.
ViInsertMode
Alterne para o modo Inserir.
- Modo de comando vi:
<i>
WhatIsKey
Leia uma chave e me diga ao que a 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 não está relacionada.
AcceptSuggestion
Ao usar InlineView
como o estilo de exibição para previsão, aceite a sugestão embutida atual.
- A função não está relacionada.
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 atualmente selecionado 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
Funções de pesquisa
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, localize-o, daqui para frente.
- Modo de comando vi:
<f>
SearchCharBackward
Leia o próximo caractere e, em seguida, localize-o, indo para trás.
- Modo de comando vi:
<F>
SearchCharBackwardWithBackoff
Leia o próximo caractere e, em seguida, localize-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, retire 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 é interrompido quando encontra argumentos em um escopo de bloco de script.
Essa função respeita o DigitArgument. Ele trata os valores de argumento positivo ou negativo como deslocamentos para frente ou para trás do argumento atualmente selecionado 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
SelectLine
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 de associação de chave personalizada
As funções a seguir são públicas em Microsoft.PowerShell.PSConsoleReadLine, mas não podem ser diretamente associadas 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()
Desmarque o anel de morte. Isso é usado principalmente para testes.
void Delete(int start, int length)
Exclua caracteres de comprimento desde o início. Essa 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 tanto no início quanto 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 cadeia de caracteres no cursor. Essa operação dá suporte a desfazer/refazer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Esse é o ponto de entrada principal 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 algumas entradas. Essa 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 é controlado 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 o DigitArgument. Uma chamada típica se parece com
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Anotações
Comportamento do evento OnIdle
Quando O PSReadLine está em uso, o evento OnIdle é acionado quando
ReadKey()
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 do onIdle alterado para sinalizar o evento somente se houver um tempo limite
ReadKey()
e o buffer de edição atual estiver vazio.