Compartilhar via


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 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 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
  • Modo de inserção Vi: Ctrl+g
  • Modo de comando Vi: <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>

Entrada BackwardDelete

Como BackwardKillInput - exclui o texto do ponto para o início da entrada, mas não coloca o texto excluído no anel kill.

  • 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 para 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>

Entrada de morte para trás

Limpe o texto do início da entrada para o cursor. O texto limpo é colocado no anel de morte.

  • Modo Emacs: Ctrl+u, Ctrl+x,Backspace

Linha de Morte para Trás

Limpe o texto do início da linha lógica atual até o cursor. O texto limpo é colocado no anel de morte.

  • A função é desvinculada.

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, 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>

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>

CapitalizarPalavra

Adicionado no PSReadLine 2.3.0

Converta o primeiro caractere da próxima palavra em maiúsculas e os caracteres restantes em 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 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,Spacebar>

ExcluirCharOrExit

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>

ExcluirEndOfWord

Exclua até o final da palavra.

  • Modo de comando Vi: <d,e>

Linha de exclusão

Exclui a linha lógica atual de um buffer de várias linhas, permitindo desfazer.

  • Modo de comando Vi: <d,d>, <d,_>

ExcluirLinhaParaPrimeiroCaractere

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,^>

ExcluirPróximaLinhas

Exclui as n linhas lógicas atuais e seguintes em um buffer de várias linhas.

  • Modo de comando Vi: <d,j>

ExcluirLinhas Anteriores

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>

ExcluirLinhas Relativas

Exclui do início do buffer para a linha lógica atual em um buffer de várias linhas.

Como a maioria dos comandos do Vi, o comando pode ser anexado <d,g,g> com um argumento numérico que especifica um número de linha absoluto, que, junto com o número da linha atual, compõem um intervalo de linhas a serem excluídas. Se não for especificado, o argumento numérico será padronizado para 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 multilinha é calculado como a diferença entre o número da linha lógica atual e o argumento numérico especificado, que pode ser negativo. Daí a parte relativa do nome do método.

  • Modo de comando Vi: <d,g,g>

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>

DowncaseWord

Adicionado no PSReadLine 2.3.0

Converta a próxima palavra em minúsculas.

  • Modo Emacs: Alt+l, Escape,l

ForwardDeleteInput

Como KillLine - exclui o texto do ponto ao 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

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: 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 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: <.>

SubstituirCaractere

Substitua o caractere atual pelo próximo conjunto de caracteres digitados.

  • Modo de comando Vi: <c,l>, <c,Spacebar>

SubstituirSubstituirLugarCartão

Substitua o caractere atual por apenas um caractere.

  • Modo de comando Vi: <r>

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

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 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>

ViBackwardReplaceGlob

Exclua de trás para frente para o início da palavra anterior, conforme delimitado por espaço em branco, e entre no modo de inserção.

  • Modo de comando Vi: <c,B>

ViBackwardReplaceLine

Substitui a linha à esquerda do cursor e até o início.

  • Modo de comando Vi: <c,0>

ViBackwardReplaceLineToFirstChar

Substitui a linha à esquerda do cursor e todos os caracteres, exceto um, no início da linha.

  • Modo de comando Vi: <c,^>

ViBackwardReplaceWord

Substitua a palavra anterior.

  • Modo de comando Vi: <c,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>

ViReplaceBrace

Substitua todos os caracteres entre o caractere de chave atual e seu parceiro correspondente.

  • Modo de comando Vi: <c,%>

ViReplaceEndOfGlob

Exclua até o final da palavra, conforme delimitado por espaço em branco, e entre no modo de inserção.

  • Modo de comando Vi: <c,E>

ViReplaceEndOfWord

Exclua até o final da palavra, conforme delimitado por espaço em branco e delimitadores comuns, e entre no modo de inserção.

  • Modo de comando Vi: <c,E>

Substituir o Globo

Exclua para o início da próxima palavra, conforme delimitado por espaço em branco, e entre no modo de inserção.

  • Modo de comando Vi: <c,W>

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>

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>

Substitua o Word

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 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,Spacebar>

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 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

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+@, Ctrl+Spacebar
  • Modo Emacs: Ctrl+Spacebar

Conclusões possíveis

Exibir 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 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 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 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

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>, <$>

MoverParaPrimeira Linha

Vá para a primeira linha em um comando de várias linhas.

  • Modo de comando Vi: <g,g>

MoverParaLastLine

Vá para a última linha em um comando de várias linhas.

  • Modo de comando Vi: <G>

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.

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 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

Mova o cursor para o final desta palavra, conforme delimitado por espaço em branco.

  • 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.

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 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
  • 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

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
  • 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

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+3Alt+6Alt+5Alt+7Alt+4, , Alt+8, , Alt+9Alt+-
  • Modo Emacs: Alt+0, Alt+1, Alt+2, Alt+3Alt+4, Alt+5, Alt+6, Alt+7Alt+8Alt+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

Mostrar Ajuda ao Comando

Fornece uma exibição da ajuda completa do cmdlet. Quando o cursor está no final de um parâmetro totalmente expandido, pressionar a <F1> tecla 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ê retorna à posição original do cursor na tela original. Este pager só funciona em aplicativos de terminal modernos, como o 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 acopladas.

  • 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>

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 previsão

AcceptNextSuggestionWord

Aceitar a próxima palavra da sugestão embutida ou selecionada

  • A função é desvinculada.

AceitarSugestão

Ao usar InlineView como estilo de exibição para previsão, aceite a sugestão embutida atual.

  • A função é desvinculada.

PróximoSugestão

Ao usar ListView como estilo de exibição para previsão, navegue até a próxima sugestão na lista.

  • A função é desvinculada.

AnteriorSugestão

Ao usar ListView como estilo de exibição para previsão, navegue até a sugestão anterior na lista.

  • A função é desvinculada.

MostrarFullPredictionTooltip

Mostre 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

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 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

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

SelectCommandArgument

Faça a seleção visual dos argumentos do 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 para o bloco de script mais externo 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

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+@

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)

IEnumerable[Microsoft.PowerShell.KeyHandler]
  GetKeyHandlers(string[] Chord)

Essas duas funções são usadas pelo Get-PSReadLineKeyHandler. O primeiro é usado para obter todas as combinações de teclas. O segundo é usado para obter atalhos de teclado específicos.

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.

Confira também