Partilhar via


about_PSReadLine_Functions

Short Description

PSReadLine fornece uma experiência de edição de linha de comando aprimorada no console do PowerShell.

Descrição longa

O PowerShell 5.1 é fornecido com PSReadLine 2.0.0. A versão atual é PSReadLine 2.3.4. A versão atual do PSReadLine pode ser instalada e usada no Windows PowerShell 5.1 e mais recente. Para alguns recursos, você precisa estar executando o PowerShell 7.2 ou superior.

Este artigo documenta as funções fornecidas pelo PSReadLine. Essas funções podem ser vinculadas a pressionamentos de 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

Anular a ação atual, por exemplo: pesquisa incremental do histórico.

  • Modo Emacs: <Ctrl+g>

AcceptAndGetNext

Tente executar a entrada atual. Se 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>

AcceptLine

Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento, colchete ou cotação ausente), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará as chaves para editar a entrada atual.

  • Modo Windows: <Enter>
  • Modo Emacs: <Enter>
  • Vi modo de inserção: <Enter>

AddLine

O prompt de continuação é exibido na próxima linha e PSReadLine aguarda as 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 é uma entrada completa por si só.

  • Modo Windows: <Shift+Enter>
  • Modo Emacs: <Shift+Enter>
  • Vi modo de inserção: <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>
  • Vi modo de inserção: <Backspace>
  • Modo de comando Vi: <X>, <d,h>

BackwardDeleteLine

Como BackwardKillLine - exclui o texto do ponto para o início da linha, mas não coloca o texto excluído no anel de morte.

  • Modo Windows: <Ctrl+Home>
  • Vi modo de inserção: <Ctrl+u>, <Ctrl+Home>
  • Modo de comando Vi: <Ctrl+u>, <Ctrl+Home>, <d,0>

BackwardDeleteWord

Exclui a palavra anterior.

  • Modo de comando Vi: <Ctrl+w>, <d,b>

BackwardKillLine

Limpe a entrada desde o início da entrada até o cursor. O texto limpo é colocado no anel de morte.

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

BackwardKillWord

Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre palavras, a entrada é limpa do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.

  • Modo Windows: <Ctrl+Backspace>
  • Modo Emacs: <Alt+Backspace>, <Escape,Backspace>
  • Vi modo de inserção: <Ctrl+Backspace>
  • Modo de comando Vi: <Ctrl+Backspace>

CancelLine

Cancele a entrada atual, deixando a entrada na tela, mas retorna ao host para que o prompt seja avaliado novamente.

  • Vi modo de inserção: <Ctrl+c>
  • Modo de comando Vi: <Ctrl+c>

Copiar

Copie a região selecionada para a área de transferência do sistema. Se nenhuma região for selecionada, copie a linha inteira.

  • Modo Windows: <Ctrl+C>

CopyOrCancelLine

Se o texto 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 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>
  • Vi modo de inserção: <Delete>
  • Vi modo de comando: <Delete>, <x>, <d,l>, , <d,Space>

DeleteCharOrExit

Exclua o caractere sob o cursor ou, se a linha estiver vazia, saia do processo.

  • Modo Emacs: <Ctrl+d>

DeleteEndOfWord

Eliminar até ao final da palavra.

  • Modo de comando Vi: <d,e>

DeleteLine

Exclui a linha atual, habilitando desfazer.

  • Modo de comando Vi: <d,d>

DeleteLineToFirstChar

Exclui o texto do cursor para o primeiro caractere não vazio da linha.

  • Modo de comando Vi: <d,^>

DeleteToEnd

Exclua até o final da linha.

  • Modo de comando Vi: <D>, <d,$>

ExcluirWord

Elimine a palavra seguinte.

  • Modo de comando Vi: <d,w>

ForwardDeleteLine

Como ForwardKillLine - exclui o texto do ponto para o final da linha, mas não coloca o texto excluído no anel de morte.

  • Modo Windows: <Ctrl+End>
  • Vi modo de inserção: <Ctrl+End>
  • Modo de comando Vi: <Ctrl+End>

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 passe para o próximo.

  • Modo de comando Vi: <~>

KillLine

Limpe a entrada do cursor para o final da entrada. O texto limpo é colocado no anel de morte.

  • Modo Emacs: <Ctrl+k>

KillRegion

Mate o texto entre o cursor e a marca.

  • A função não está vinculada.

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 anel de morte.

  • Modo Windows: <Ctrl+Delete>
  • Modo Emacs: <Alt+d>, <Escape,d>
  • Vi modo de inserção: <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>
  • Vi modo de inserção: <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. O buffer de entrada é então passado para o analisador do PowerShell. A entrada colada usando o método de colar do botão direito do mouse do aplicativo de console é 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 os métodos de colagem resulta em um comportamento de execução diferente.

ColarDepois

Cole a área de transferência após o cursor, movendo o cursor para o final do texto colado.

  • Modo de comando Vi: <p>

ColarAntes

Cole a área de transferência antes do cursor, movendo o cursor para o final do texto colado.

  • Modo de comando Vi: <P>

PrependAndAccept

Insira um '#' e aceite a linha.

  • Modo de comando Vi: <#>

Refazer

Desfazer um desfazer.

  • Modo Windows: <Ctrl+y>
  • Vi modo de inserção: <Ctrl+y>
  • Modo de comando Vi: <Ctrl+y>

RepeatLastCommand

Repita a última modificação de texto.

  • Modo de comando Vi: <.>

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 é limpa do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.

A função não está vinculada.

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 anel de morte.

A função não está vinculada.

Caracteres Swap

Troque o caractere atual pelo anterior.

  • Modo Emacs: <Ctrl+t>
  • Vi modo de inserção: <Ctrl+t>
  • Modo de comando Vi: <Ctrl+t>

Anular

Desfazer uma edição anterior.

  • Modo Windows: <Ctrl+z>
  • Modo Emacs: <Ctrl+_>, <Ctrl+x,Ctrl+u>
  • Vi modo de inserção: <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 palavras, a entrada é limpa do início da palavra anterior para o cursor. O texto limpo é colocado no anel de morte.

  • Modo Emacs: <Ctrl+w>

ValidateAndAcceptLine

Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento, colchete ou cotação ausente), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará as chaves para editar a entrada atual.

  • Modo Emacs: <Ctrl+m>

ViAcceptLine

Aceite a linha e mude 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.

  • Vi modo de inserção: <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 palavras.

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

ViDeleteBrace

Encontre a chave, parêntese ou colchete correspondente e exclua todo o conteúdo contido, incluindo a chave.

  • Modo de comando Vi: <d,%>

ViDeleteEndOfGlob

Eliminar até ao 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

Mude para o modo Inserir e posicione o cursor no início da linha.

  • Modo de comando Vi: <I>

ViInsertAtEnd

Mude 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

Acrescentar 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-se à linha atual e à linha seguinte.

  • Modo de comando Vi: <J>

ViReplaceLine

Apague toda a linha de comando.

  • Modo de comando Vi: <S>, <c,c>

ViReplaceToBeforeChar

Substitui até determinado caráter.

  • Modo de comando Vi: <c,t>

ViReplaceToBeforeCharBackward

Substitui até determinado caráter.

  • Modo de comando Vi: <c,T>

ViReplaceToChar

Exclui até determinado caractere.

  • Modo de comando Vi: <c,f>

ViReplaceToCharBackward

Substitui até determinado caráter.

  • Modo de comando Vi: <c,F>

ViYankBeginningOfLine

Yank 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

Passe do cursor para o final da(s) palavra(s).

  • Modo de comando Vi: <y,e>

ViYankEsquerda

Caractere(s) Yank à esquerda do cursor.

  • Modo de comando Vi: <y,h>

ViYankLine

Yank todo o buffer.

  • Modo de comando Vi: <y,y>

ViYankNextGlob

Passe do cursor para o início da(s) próxima(s) PALAVRA(s).

  • Modo de comando Vi: <y,W>

ViYankPróximoWord

Passe a(s) palavra(s) após o cursor.

  • Modo de comando Vi: <y,w>

ViYankPercent

Yank para/de chave correspondente.

  • Modo de comando Vi: <y,%>

ViYankPreviousGlob

Passe do início da(s) PALAVRA(s) para o cursor.

  • Modo de comando Vi: <y,B>

ViYankAnteriorWord

Aperte a(s) palavra(s) antes do cursor.

  • Modo de comando Vi: <y,b>

ViYankRight

Caractere(s) Yank(s) sob e à direita do cursor.

  • Modo de comando Vi: <y,l>, <y,Space>

ViYankToEndOfLine

Passe do cursor para o final do buffer.

  • Modo de comando Vi: <y,$>

ViYankToFirstChar

Passe do primeiro caractere sem espaço em branco para o cursor.

  • Modo de comando Vi: <y,^>

Yank

Adicione o texto morto mais recentemente à entrada.

  • Modo Emacs: <Ctrl+y>

YankLastArg

Yank o último argumento da linha da história anterior. Com um argumento, a primeira vez que é invocado, comporta-se como YankNthArg. Se invocado várias vezes, em vez disso, ele 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,_>

YankNthArg

Tire o primeiro argumento (após o comando) da linha do histórico anterior. Com um argumento, puxe o nono argumento (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 foi Yank ou YankPop, substitua o texto previamente arrancado pelo próximo texto morto do anel de morte.

  • Modo Emacs: <Alt+y>, <Escape,y>

Funções de movimento do cursor

Retrocesso

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>
  • Vi modo de inserção: <LeftArrow>
  • Modo de comando Vi: <LeftArrow>, <Backspace>, <h>

Palavras para trás

Mova o cursor de volta para o início da palavra atual ou, se 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>
  • Vi modo de inserção: <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.

IníciodeLinha

Se a entrada tiver várias linhas, mova para o início da linha atual ou, se já estiver no início da linha, mova para o início da entrada. Se a entrada tiver uma única linha, mova para o início da entrada.

  • Modo Windows: <Home>
  • Modo Emacs: <Home>, <Ctrl+a>
  • Vi modo de inserção: <Home>
  • Modo de comando Vi: <Home>

Fim de linha

Se a entrada tiver várias linhas, mova para o final da linha atual ou, se já estiver no final da linha, mova para o final da entrada. Se a entrada tiver uma única linha, mova para o final da entrada.

  • Modo Windows: <End>
  • Modo Emacs: <End>, <Ctrl+e>
  • Vi modo de inserção: <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>
  • Vi modo de inserção: <RightArrow>
  • Modo de comando Vi: <RightArrow>, <Space>, <l>

ForwardWord

Mova o cursor para a frente até o final da palavra atual ou, se 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êntese ou colchete correspondente.

  • Modo Windows: <Ctrl+]>
  • Vi modo de inserção: <Ctrl+]>
  • Modo de comando Vi: <Ctrl+]>

GotoColuna

Mover para a coluna indicada por arg.

  • Modo de comando Vi: <|>

GotoFirstNonBlankOfLine

Mova o cursor para o primeiro caractere não vazio na linha.

  • Modo de comando Vi: <^>

MoveToEndOfLine

Mova o cursor para o final da entrada.

  • Modo de comando Vi: <End>, <$>

Próxima Linha

Mova o cursor para a próxima linha.

  • A função não está vinculada.

PróximoWord

Mova o cursor para a 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>
  • Vi modo de inserção: <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óximoWordEnd

Mova o cursor para a frente até o final da palavra atual ou, se 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.

AnteriorLinha

Mova o cursor para a linha anterior.

  • A função não está vinculada.

ShellBackwardWord

Mova o cursor de volta para o início da palavra atual ou, se entre palavras, para o início da palavra anterior. Os limites do Word são definidos por tokens do PowerShell.

  • A função não está vinculada.

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á vinculada.

ShellNextWord

Mova o cursor para a frente até o final da palavra atual ou, se entre palavras, até o final da próxima palavra. Os limites do Word são definidos por tokens do PowerShell.

  • A função não está vinculada.

ViBackwardWord

Mova o cursor de volta para o início da palavra atual ou, se entre palavras, para o início da palavra anterior. Os limites das palavras são definidos por um conjunto configurável de caracteres.

  • Modo de comando Vi: <b>

Os caracteres que definem limites de palavras são configurados na propriedade WordDelimiters do objeto PSConsoleReadLineOptions . Para exibir ou alterar a propriedade WordDelimiters , consulte Get-PSReadLineOption e Set-PSReadLineOption.

ViEndOfGlob

Move o cursor para o final da palavra, usando apenas espaço em branco como delimitadores.

  • Modo de comando Vi: <E>

ViEndOfPreviousGlob

Move para o final da palavra anterior, usando apenas espaço em branco como um delimitador de palavras.

  • A função não está vinculada.

ViGotoBrace

Semelhante ao GotoBrace, mas é baseado em caracteres em vez de token.

  • Modo de comando Vi: <%>

ViNextGlob

Move para a próxima palavra, usando apenas espaço em branco como um 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 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

Início da História

Mover 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 direta incremental através do histórico.

  • Modo Windows: <Ctrl+s>
  • Modo Emacs: <Ctrl+s>

HistóricoSearchBackward

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

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>
  • Vi modo de inserção: <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>
  • Vi modo de inserção: <UpArrow>
  • Modo de comando Vi: <UpArrow>, <k>, <->

ReverseSearchHistory

Execute uma pesquisa retroativa incremental através do histórico.

  • Modo Windows: <Ctrl+r>
  • Modo Emacs: <Ctrl+r>

ViSearchHistoryBackward

Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.

  • Vi modo de inserção: <Ctrl+r>
  • Modo de comando Vi: </>, <Ctrl+r>

Funções de conclusão

Concluído

Tente executar a conclusão no texto ao redor do cursor. Se houver várias completações possíveis, o prefixo inequívoco mais longo é usado para conclusão. Se tentar concluir a conclusão inequívoca mais longa, será exibida uma lista de possíveis conclusão.

  • Modo Emacs: <Tab>

Tente executar a conclusão no texto ao redor do cursor. Se houver várias completações possíveis, o prefixo inequívoco mais longo é usado para conclusão. Se tentar concluir a conclusão inequívoca mais longa, será exibida uma lista de possíveis conclusão.

  • Modo Windows: <Ctrl+Space>
  • Modo Emacs: <Ctrl+Space>

Possíveis Finalizações

Exiba a lista de possíveis conclusãos.

  • Modo Emacs: <Alt+=>
  • Vi modo de inserção: <Ctrl+Space>
  • Modo de comando Vi: <Ctrl+Space>

TabCompleteNext

Tente completar 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 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.

  • Vi modo de inserção: <Tab>

ViTabCompletePrevious

Encerra o grupo de edição atual, se necessário, e invoca TabCompletePrevious.

  • Vi modo de inserção: <Shift+Tab>

Funções diversas

Tela de captura

Inicie a captura de tela interativa - setas para cima/para baixo, selecione linhas, insira cópias do texto selecionado para a área de transferência como texto e HTML.

  • A função não está vinculada.

Ecrã Limpo

Limpe a tela e desenhe a linha atual na parte superior da tela.

  • Modo Windows: <Ctrl+l>
  • Modo Emacs: <Ctrl+l>
  • Vi modo de inserção: <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 pressionamento de tecla. Por exemplo, pressionar <Alt+1> <Alt+0> define o valor do argumento 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+8><Alt+7>, , <Alt+9>,<Alt+->
  • Modo Emacs: <Alt+0>, <Alt+1>, <Alt+2>, , <Alt+3>, <Alt+4>, <Alt+6><Alt+5>, , <Alt+7>, <Alt+8>, <Alt+9><Alt+->
  • Modo de comando Vi: <0>, <1>, <2>, <3>, , <4>, <6><5>, , <7>, <8>,<9>

InvokePrompt

Apaga o prompt atual e chama a função prompt para exibir novamente o prompt. Útil para manipuladores de chaves personalizados que mudam de estado. Por exemplo, altere o diretório atual.

  • A função não está vinculada.

ScrollDisplayDown

Role a tela para baixo em uma tela.

  • Modo Windows: <PageDown>
  • Modo Emacs: <PageDown>

ScrollDisplayDownLine

Desloque o ecrã uma linha para baixo.

  • Modo Windows: <Ctrl+PageDown>
  • Modo Emacs: <Ctrl+PageDown>

ScrollDisplayToCursor

Desloque o ecrã para o cursor.

  • Modo Emacs: <Ctrl+End>

ScrollDisplayTopo

Desloque o ecrã para o topo.

  • Modo Emacs: <Ctrl+Home>

ScrollDisplayUp

Role a exibição para cima em uma tela.

  • Modo Windows: <PageUp>
  • Modo Emacs: <PageUp>

ScrollDisplayUpLine

Role a tela uma linha para cima.

  • Modo Windows: <Ctrl+PageUp>
  • Modo Emacs: <Ctrl+PageUp>

Autoinserção

Insira a chave.

  • A função não está vinculada.

ShowKeyBindings

Mostrar todas as chaves acopladas.

  • Modo Windows: <Ctrl+Alt+?>
  • Modo Emacs: <Ctrl+Alt+?>
  • Vi modo de inserção: <Ctrl+Alt+?>

ViCommandMode

Mude o modo de operação atual de Vi-Insert para Vi-Command.

  • Vi modo de inserção: <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á vinculada.

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>

ViExit [en]

Sai do shell.

  • A função não está vinculada.

ViInsertMode

Mude para o modo Inserir.

  • Modo de comando Vi: <i>

O que é fundamental

Leia uma chave e diga-me a que é que a chave está vinculada.

  • Modo Windows: <Alt+?>
  • Modo Emacs: <Alt+?>

Funções de seleção

ExchangePointAndMark

O cursor é colocado no local da marca e a marca é movida para o local do cursor.

  • Modo Emacs: <Ctrl+x,Ctrl+x>

SelecionarTodos

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 desde o cursor até o início da linha.

  • Modo Windows: <Shift+Home>
  • Modo Emacs: <Shift+Home>

SelecionarBackwardWord

Ajuste a seleção atual para incluir a palavra anterior.

  • Modo Windows: <Shift+Ctrl+LeftArrow>
  • Modo Emacs: <Alt+B>

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>

SelecionarSeguinteWord

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á vinculada.

SelectShellForwardWord

Ajuste a seleção atual para incluir a próxima palavra usando ShellForwardWord.

  • A função não está vinculada.

SelectShellNextWord

Ajuste a seleção atual para incluir a próxima palavra usando ShellNextWord.

  • A função não está vinculada.

Marca de conjunto

Marque o local atual do cursor para uso em um comando de edição subsequente.

  • Modo Emacs: <Ctrl+>

Funções de pesquisa

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) para a enésima ocorrência.

  • Modo Windows: <F3>
  • Modo Emacs: <Ctrl+]>
  • Vi modo de inserção: <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 enésima ocorrência.

  • Modo Windows: <Shift+F3>
  • Modo Emacs: <Ctrl+Alt+]>
  • Vi modo de inserção: <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: <,>

Pesquisa repetida

Repita a última pesquisa na mesma direção que antes.

  • Modo de comando Vi: <n>

RepeatSearchBackward

Repita a última pesquisa na mesma direção que antes.

  • Modo de comando Vi: <N>

SearchChar

Leia o próximo personagem e encontre-o, daqui para frente.

  • Modo de comando Vi: <f>

SearchCharBackward

Leia o próximo personagem e encontre-o, retrocedendo.

  • Modo de comando Vi: <F>

SearchCharBackwardWithBackoff

Leia o próximo caractere e, em seguida, encontre-o, retrocedendo e, em seguida, recuando de um personagem.

  • Modo de comando Vi: <T>

SearchCharWithBackoff

Leia o próximo personagem e, em seguida, encontre-o, avançando e, em seguida, recue de um personagem.

  • Modo de comando Vi: <t>

PesquisarAvançar

Solicita uma cadeia de caracteres de pesquisa e inicia a pesquisa em AcceptLine.

  • Vi modo de inserção: <Ctrl+s>
  • Modo de comando Vi: <?>, <Ctrl+s>

APIs de suporte de vinculação de chave personalizada

As funções a seguir são públicas em Microsoft.PowerShell.PSConsoleReadLine, mas não podem ser vinculadas diretamente a uma chave. A maioria é útil em ligações de chave personalizadas.

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 a sua ligação está fazendo algo mais avançado com o Ast.

IEnumerable[Microsoft.PowerShell.KeyHandler]
  GetKeyHandlers(bool includeBound, bool includeUnbound)

Esta função é usada por Get-PSReadLineKeyHandler e provavelmente não é útil em uma associação de chave personalizada.

Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()

Esta 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 nenhuma seleção na linha de comando, a função retornará -1 em início e 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. Esta operação suporta desfazer/refazer.

string ReadLine(runspace remoteRunspace,
  System.Management.Automation.EngineIntrinsics engineIntrinsics)

Este é o principal ponto de entrada para o PSReadLine. Ele não suporta recursão, portanto, não é útil em uma vinculação de chave personalizada.

void RemoveKeyHandler(string[] key)

Esta 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 suporta desfazer/refazer. Isso é preferível a Excluir seguido de 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 honram DigitArgument. Uma chamada típica tem a seguinte aparência:

[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
  [ref]$numericArg, 1)

Notas

Comportamento do evento OnIdle

  • Quando PSReadLine está em uso, o evento OnIdle é acionado quando ReadKey() o tempo limite expira (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 foi alterado para sinalizar o evento somente se houver um ReadKey() tempo limite e o buffer de edição atual estiver vazio.

Consulte Também