about_PSReadLine_Functions
Breve descrizione
PSReadLine offre un'esperienza di modifica della riga di comando migliorata nella console di PowerShell.
Descrizione lunga
PowerShell 7.3 viene fornito con PSReadLine 2.2.6. La versione corrente è PSReadLine 2.3.4. La versione corrente di PSReadLine può essere installata e usata in Windows PowerShell 5.1 e versioni successive. Per alcune funzionalità, è necessario eseguire PowerShell 7.2 o versione successiva.
Questo articolo illustra le funzioni fornite da PSReadLine 2.3.4. Queste funzioni possono essere associate a sequenze di tasti per facilitare l'accesso e la chiamata.
Uso della classe Microsoft.PowerShell.PSConsoleReadLine
Le funzioni seguenti sono disponibili nella classe Microsoft.PowerShell.PSConsoleReadLine.
Funzioni di modifica di base
Interrompi
Interrompere l'azione corrente, ad esempio: ricerca cronologia incrementale.
- Modalità Emacs:
Ctrl+g
- Modalità di inserimento vi:
Ctrl+g
- Modalità di comando vi:
<Ctrl+g>
AcceptAndGetNext
Tentare di eseguire l'input corrente. Se può essere eseguito (ad esempio AcceptLine), richiamare l'elemento successivo dalla cronologia alla successiva chiamata a ReadLine.
- Modalità Emacs:
Ctrl+o
AcceptLine
Tentare di eseguire l'input corrente. Se l'input corrente è incompleto ,ad esempio c'è una parentesi chiusa mancante, parentesi quadre o virgolette, il prompt di continuazione viene visualizzato nella riga successiva e PSReadLine attende che le chiavi modifichino l'input corrente.
- Modalità Windows:
Enter
- Modalità Emacs:
Enter
- Modalità di inserimento vi:
Enter
AddLine
Il prompt di continuazione viene visualizzato nella riga successiva e PSReadLine attende che le chiavi modifichino l'input corrente. Ciò è utile per immettere l'input su più righe come singolo comando anche quando una singola riga è completa di input da sola.
- Modalità Windows:
Shift+Enter
- Modalità Emacs:
Shift+Enter
- Modalità di inserimento vi:
Shift+Enter
- Modalità di comando vi:
<Shift+Enter>
BackwardDeleteChar
Eliminare il carattere prima del cursore.
- Modalità Windows:
Backspace
,Ctrl+h
- Modalità Emacs:
Backspace
,Ctrl+Backspace
,Ctrl+h
- Modalità di inserimento vi:
Backspace
- Modalità di comando vi:
<X>
,<d,h>
BackwardDeleteInput
Come BackwardKillInput: elimina il testo dal punto all'inizio dell'input, ma non inserisce il testo eliminato nell'anello di terminazioni.
- Modalità Windows:
Ctrl+Home
- Modalità di inserimento vi:
Ctrl+u
,Ctrl+Home
- Modalità di comando vi:
<Ctrl+u>
,<Ctrl+Home>
BackwardDeleteLine
Come BackwardKillLine: elimina il testo dal punto all'inizio della riga, ma non inserisce il testo eliminato nell'anello di terminazioni.
- Modalità di comando vi:
<d,0>
BackwardDeleteWord
Elimina la parola precedente.
- Modalità di comando vi:
<Ctrl+w>
,<d,b>
BackwardKillInput
Cancellare il testo dall'inizio dell'input al cursore. Il testo cancellato viene inserito nel kill-ring.
- Modalità Emacs:
Ctrl+u
,Ctrl+x,Backspace
BackwardKillLine
Cancellare il testo dall'inizio della riga logica corrente al cursore. Il testo cancellato viene inserito nel kill-ring.
- La funzione non è associato.
BackwardKillWord
Cancellare l'input dall'inizio della parola corrente al cursore. Se il cursore è compreso tra le parole, l'input viene cancellato dall'inizio della parola precedente al cursore. Il testo cancellato viene inserito nel kill-ring.
- Modalità Windows:
Ctrl+Backspace
,Ctrl+w
- Modalità Emacs:
Alt+Backspace
,Escape,Backspace
- Modalità di inserimento vi:
Ctrl+Backspace
- Modalità di comando vi:
<Ctrl+Backspace>
BackwardReplaceChar
Sostituisce il carattere davanti al cursore.
- Modalità di comando vi:
<c,h>
CancelLine
Annullare l'input corrente, lasciando l'input sullo schermo, ma torna all'host in modo che la richiesta venga valutata di nuovo.
- Modalità di inserimento vi:
Ctrl+c
- Modalità di comando vi:
<Ctrl+c>
MaiuscolaWord
Aggiunta in PSReadLine 2.3.0
Convertire il primo carattere della parola successiva in maiuscolo e i caratteri rimanenti in lettere minuscole.
- Modalità Emacs:
Alt+c
,Escape,c
Copia
Copiare l'area selezionata negli Appunti di sistema. Se non è selezionata alcuna area, copiare l'intera riga.
- Modalità Windows:
Ctrl+C
CopyOrCancelLine
Se il testo è selezionato, copiare negli Appunti; in caso contrario, annullare la riga.
- Modalità Windows:
Ctrl+c
- Modalità Emacs:
Ctrl+c
Taglia
Elimina l'area selezionata inserendo testo eliminato negli Appunti di sistema.
- Modalità Windows:
Ctrl+x
DeleteChar
Eliminare il carattere sotto il cursore.
- Modalità Windows:
Delete
- Modalità Emacs:
Delete
- Modalità di inserimento vi:
Delete
- Modalità di comando vi:
<Delete>
,<x>
,<d,l>
,<d,Spacebar>
DeleteCharOrExit
Eliminare il carattere sotto il cursore oppure se la riga è vuota, uscire dal processo.
- Modalità Emacs:
Ctrl+d
DeleteEndOfBuffer
Elimina fino alla fine del buffer su più righe.
- Modalità di comando vi:
<d,G>
DeleteEndOfWord
Elimina alla fine della parola.
- Modalità di comando vi:
<d,e>
DeleteLine
Elimina la riga logica corrente di un buffer su più righe, abilitando l'annullamento.
- Modalità di comando vi:
<d,d>
,<d,_>
DeleteLineToFirstChar
Elimina dal primo carattere non vuoto della riga logica corrente in un buffer su più righe.
- Modalità di comando vi:
<d,^>
DeleteNextLines
Elimina le righe logiche correnti e successive n in un buffer su più righe.
- Modalità di comando vi:
<d,j>
DeletePreviousLines
Elimina le righe logiche richieste precedenti e la riga logica corrente in un buffer su più righe.
- Modalità di comando vi:
<d,k>
DeleteRelativeLines
Elimina dall'inizio del buffer alla riga logica corrente in un buffer su più righe.
Come la maggior parte dei comandi Vi, il <d,g,g>
comando può essere anteporto a un argomento numerico che specifica un numero di riga assoluto, che, insieme al numero di riga corrente, costituisce un intervallo di righe da eliminare. Se non specificato, per impostazione predefinita l'argomento numerico è 1, che fa riferimento alla prima riga logica in un buffer su più righe.
Il numero effettivo di righe da eliminare dalla multilinea viene calcolato come differenza tra il numero di riga logico corrente e l'argomento numerico specificato, che può quindi essere negativo. Di conseguenza, la parte relativa del nome del metodo.
- Modalità di comando vi:
<d,g,g>
DeleteToEnd
Elimina alla fine della riga.
- Modalità di comando vi:
<D>
,<d,$>
DeleteWord
Eliminare la parola successiva.
- Modalità di comando vi:
<d,w>
DowncaseWord
Aggiunta in PSReadLine 2.3.0
Convertire la parola successiva in lettere minuscole.
- Modalità Emacs:
Alt+l
,Escape,l
ForwardDeleteInput
Come KillLine: elimina il testo dal punto alla fine dell'input, ma non inserisce il testo eliminato nell'anello kill.Like KillLine - deletes text from the point to the end of the input, but't put the deleted text in the kill-ring.
- Modalità Windows:
Ctrl+End
- Modalità di inserimento vi:
Ctrl+End
- Modalità di comando vi:
<Ctrl+End>
ForwardDeleteLine
Elimina il testo dal punto alla fine della riga logica corrente, ma non inserisce il testo eliminato nell'anello di terminazioni.
- La funzione non è associato
InsertLineAbove
Viene creata una nuova riga vuota sopra la riga corrente, indipendentemente dalla posizione in cui si trova il cursore sulla riga corrente. Il cursore si sposta all'inizio della nuova riga.
- Modalità Windows:
Ctrl+Enter
InsertLineBelow
Sotto la riga corrente viene creata una nuova riga vuota indipendentemente dalla posizione in cui si trova il cursore nella riga corrente. Il cursore si sposta all'inizio della nuova riga.
- Modalità Windows:
Shift+Ctrl+Enter
InvertCase
Inverti la maiuscola del carattere corrente e passa alla successiva.
- Modalità di comando vi:
<~>
KillLine
Cancellare l'input dal cursore alla fine dell'input. Il testo cancellato viene inserito nel kill-ring.
- Modalità Emacs:
Ctrl+k
KillRegion
Terminare il testo tra il cursore e il segno.
- La funzione non è associato.
KillWord
Cancellare l'input dal cursore alla fine della parola corrente. Se il cursore è compreso tra le parole, l'input viene cancellato dal cursore alla fine della parola successiva. Il testo cancellato viene inserito nel kill-ring.
- Modalità Windows:
Alt+d
,Ctrl+Delete
- Modalità Emacs:
Alt+d
,Escape,d
- Modalità di inserimento vi:
Ctrl+Delete
- Modalità di comando vi:
<Ctrl+Delete>
Incolla
Incollare testo dagli Appunti di sistema.
- Modalità Windows:
Ctrl+v
,Shift+Insert
- Modalità di inserimento vi:
Ctrl+v
- Modalità di comando vi:
<Ctrl+v>
Importante
Quando si usa la funzione Paste , l'intero contenuto del buffer degli Appunti viene incollato nel buffer di input di PSReadLine. Il buffer di input viene quindi passato al parser di PowerShell. L'input incollato usando il metodo incollato con il pulsante destro del mouse dell'applicazione console viene copiato nel buffer di input un carattere alla volta. Il buffer di input viene passato al parser quando viene copiato un carattere di nuova riga. Di conseguenza, l'input viene analizzato una riga alla volta. La differenza tra i metodi Paste comporta un comportamento di esecuzione diverso.
PasteAfter
Incollare gli Appunti dopo il cursore, spostando il cursore alla fine del testo incollato.
- Modalità di comando vi:
<p>
PasteBefore
Incollare gli Appunti prima del cursore, spostando il cursore alla fine del testo incollato.
- Modalità di comando vi:
<P>
PrependAndAccept
Anteporre un '#' e accettare la riga.
- Modalità di comando vi:
<#>
Ripeti
Annullare un'annullamento.
- Modalità Windows:
Ctrl+y
- Modalità di inserimento vi:
Ctrl+y
- Modalità di comando vi:
<Ctrl+y>
RepeatLastCommand
Ripetere l'ultima modifica del testo.
- Modalità di comando vi:
<.>
ReplaceChar
Sostituire il carattere corrente con il set di caratteri successivo digitato.
- Modalità di comando vi:
<c,l>
,<c,Spacebar>
ReplaceCharInPlace
Sostituire il carattere corrente con un solo carattere.
- Modalità di comando vi:
<r>
RevertLine
Ripristina tutto l'input all'input corrente.
- Modalità Windows:
Escape
- Modalità Emacs:
Alt+r
,Escape,r
ShellBackwardKillWord
Cancellare l'input dall'inizio della parola corrente al cursore. Se il cursore è compreso tra le parole, l'input viene cancellato dall'inizio della parola precedente al cursore. Il testo cancellato viene inserito nel kill-ring.
La funzione non è associato.
ShellKillWord
Cancellare l'input dal cursore alla fine della parola corrente. Se il cursore è compreso tra le parole, l'input viene cancellato dal cursore alla fine della parola successiva. Il testo cancellato viene inserito nel kill-ring.
La funzione non è associato.
SwapCharacters
Scambia il carattere corrente e quello prima.
- Modalità Emacs:
Ctrl+t
- Modalità di inserimento vi:
Ctrl+t
- Modalità di comando vi:
<Ctrl+t>
Annulla
Annullare una modifica precedente.
- Modalità Windows:
Ctrl+z
- Modalità Emacs:
Ctrl+_
,Ctrl+x,Ctrl+u
- Modalità di inserimento vi:
Ctrl+z
- Modalità di comando vi:
<Ctrl+z>
,<u>
AnnullaTutti
Annulla tutte le modifiche precedenti per la riga.
- Modalità di comando vi:
<U>
UnixWordRubout
Cancellare l'input dall'inizio della parola corrente al cursore. Se il cursore è compreso tra le parole, l'input viene cancellato dall'inizio della parola precedente al cursore. Il testo cancellato viene inserito nel kill-ring.
- Modalità Emacs:
Ctrl+w
UpcaseWord
Aggiunta in PSReadLine 2.3.0
Convertire la parola successiva in lettere maiuscole.
- Modalità Emacs:
Alt+u
,Escape,u
ValidateAndAcceptLine
Tentare di eseguire l'input corrente. Se l'input corrente è incompleto ,ad esempio c'è una parentesi chiusa mancante, parentesi quadre o virgolette, il prompt di continuazione viene visualizzato nella riga successiva e PSReadLine attende che le chiavi modifichino l'input corrente.
- Modalità Emacs:
Ctrl+m
ViAcceptLine
Accettare la riga e passare alla modalità Inserisci.
- Modalità di comando vi:
<Enter>
ViAcceptLineOrExit
Come DeleteCharOrExit in modalità Emacs, ma accetta la riga anziché eliminare un carattere.
- Modalità di inserimento vi:
Ctrl+d
- Modalità di comando vi:
<Ctrl+d>
ViAppendLine
Sotto la riga corrente viene inserita una nuova riga.
- Modalità di comando vi:
<o>
ViBackwardDeleteGlob
Elimina la parola precedente, utilizzando solo spazi vuoti come delimitatore di parola.
- Modalità di comando vi:
<d,B>
ViBackwardGlob
Sposta di nuovo il cursore all'inizio della parola precedente, utilizzando solo spazi vuoti come delimitatori.
- Modalità di comando vi:
<B>
ViBackwardReplaceGlob
Eliminare all'indietro all'inizio della parola precedente, come delimitato da spazi vuoti, e immettere la modalità di inserimento.
- Modalità di comando vi:
<c,B>
ViBackwardReplaceLine
Sostituisce la riga sinistra del cursore e fino all'inizio.
- Modalità di comando vi:
<c,0>
ViBackwardReplaceLineToFirstChar
Sostituisce la riga sinistra del cursore e un carattere all'inizio della riga.
- Modalità di comando vi:
<c,^>
ViBackwardReplaceWord
Sostituire la parola precedente.
- Modalità di comando vi:
<c,B>
ViDeleteBrace
Trovare la parentesi graffa corrispondente, parentesi quadre o parentesi quadre ed eliminare tutto il contenuto all'interno, inclusa la parentesi graffa.
- Modalità di comando vi:
<d,%>
ViDeleteEndOfGlob
Elimina alla fine della parola.
- Modalità di comando vi:
<d,E>
ViDeleteGlob
Eliminare il glob successivo (parola delimitata da spazi vuoti).
- Modalità di comando vi:
<d,W>
ViDeleteToBeforeChar
Elimina fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<d,t>
ViDeleteToBeforeCharBackward
Elimina fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<d,T>
ViDeleteToChar
Elimina fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<d,f>
ViDeleteToCharBackward
Elimina all'indietro fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<d,F>
ViInsertAtBegining
Passare alla modalità Inserisci e posizionare il cursore all'inizio della riga.
- Modalità di comando vi:
<I>
ViInsertAtEnd
Passare alla modalità Inserisci e posizionare il cursore alla fine della riga.
- Modalità di comando vi:
<A>
ViInsertLine
Una nuova riga viene inserita sopra la riga corrente.
- Modalità di comando vi:
<O>
ViInsertWithAppend
Accodamento dalla posizione della riga corrente.
- Modalità di comando vi:
<a>
ViInsertWithDelete
Eliminare il carattere corrente e passare alla modalità Inserisci.
- Modalità di comando vi:
<s>
ViJoinLines
Unisce la riga corrente e la riga successiva.
- Modalità di comando vi:
<J>
ViReplaceBrace
Sostituire tutti i caratteri tra il carattere parentesi graffa corrente e il partner corrispondente.
- Modalità di comando vi:
<c,%>
ViReplaceEndOfGlob
Eliminare fino alla fine della parola, come delimitato da spazi vuoti e immettere la modalità di inserimento.
- Modalità di comando vi:
<c,E>
ViReplaceEndOfWord
Eliminare fino alla fine della parola, come delimitato da spazi vuoti e delimitatori comuni e immettere la modalità di inserimento.
- Modalità di comando vi:
<c,E>
ViReplaceGlob
Eliminare all'inizio della parola successiva, come delimitato da spazi vuoti, e immettere la modalità di inserimento.
- Modalità di comando vi:
<c,W>
ViReplaceLine
Cancellare l'intera riga di comando.
- Modalità di comando vi:
<S>
,<c,c>
ViReplaceToBeforeChar
Sostituisce fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<c,t>
ViReplaceToBeforeCharBackward
Sostituisce fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<c,T>
ViReplaceToChar
Elimina fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<c,f>
ViReplaceToCharBackward
Sostituisce fino a quando non viene specificato il carattere.
- Modalità di comando vi:
<c,F>
ViReplaceToEnd
Sostituire i caratteri dalla posizione del cursore alla fine della riga.
- Modalità di comando vi:
<c,$>
,<C>
ViReplaceUntilEsc
Sostituire il carattere corrente finché non viene immesso un carattere di escape o la riga viene accettata.
- Modalità di comando vi:
<r>
ViReplaceWord
Sostituire la parola corrente.
- Modalità di comando vi:
<c,W>
ViYankBeginningOfLine
Yank dall'inizio del buffer al cursore.
- Modalità di comando vi:
<y,0>
ViYankEndOfGlob
Yank dal cursore alla fine delle PAROLE.
- Modalità di comando vi:
<y,E>
ViYankEndOfWord
Yank dal cursore alla fine delle parole.
- Modalità di comando vi:
<y,e>
ViYankLeft
Caratteri Yank a sinistra del cursore.
- Modalità di comando vi:
<y,h>
ViYankLine
Yank l'intero buffer.
- Modalità di comando vi:
<y,y>
ViYankNextGlob
Yank dal cursore all'inizio delle parole successive.
- Modalità di comando vi:
<y,W>
ViYankNextWord
Yank le parole dopo il cursore.
- Modalità di comando vi:
<y,w>
ViYankPercent
Yank da/verso parentesi graffe corrispondenti.
- Modalità di comando vi:
<y,%>
ViYankPreviousGlob
Yank dall'inizio delle parole al cursore.
- Modalità di comando vi:
<y,B>
ViYankPreviousWord
Yank le parole prima del cursore.
- Modalità di comando vi:
<y,b>
ViYankRight
Caratteri Yank sotto e a destra del cursore.
- Modalità di comando vi:
<y,l>
,<y,Spacebar>
ViYankToEndOfLine
Yank dal cursore alla fine del buffer.
- Modalità di comando vi:
<y,$>
ViYankToFirstChar
Yank dal primo carattere non vuoto al cursore.
- Modalità di comando vi:
<y,^>
Strattone
Aggiungere il testo terminato più di recente all'input.
- Modalità Emacs:
Ctrl+y
YankLastArg
Yank l'ultimo argomento della riga di storia precedente. Con un argomento, la prima volta che viene richiamato, si comporta esattamente come YankNthArg. Se richiamato più volte, invece scorre la cronologia e arg imposta la direzione (negativo inverte la direzione).
- Modalità Windows:
Alt+.
- Modalità Emacs:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankNthArg
Yank il primo argomento (dopo il comando) dalla riga di cronologia precedente. Con un argomento, creare il n° argomento (a partire da 0), se l'argomento è negativo, iniziare dall'ultimo argomento.
- Modalità Emacs:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Se l'operazione precedente era Yank o YankPop, sostituire il testo precedentemente yanked con il successivo testo ucciso dal kill-ring.
- Modalità Emacs:
Alt+y
,Escape,y
Funzioni di completamento
Completo
Tentare di eseguire il completamento del testo che circonda il cursore. Se sono presenti più completamenti possibili, per il completamento viene usato il prefisso non ambiguo più lungo. Se si tenta di completare il completamento non ambiguo più lungo, viene visualizzato un elenco di possibili completamenti.
- Modalità Emacs:
Tab
MenuComplete
Tentare di eseguire il completamento del testo che circonda il cursore. Se sono presenti più completamenti possibili, per il completamento viene usato il prefisso non ambiguo più lungo. Se si tenta di completare il completamento non ambiguo più lungo, viene visualizzato un elenco di possibili completamenti.
- Modalità Windows:
Ctrl+@
,Ctrl+Spacebar
- Modalità Emacs:
Ctrl+Spacebar
PossibleCompletions
Visualizzare l'elenco dei possibili completamenti.
- Modalità Emacs:
Alt+=
- Modalità di inserimento vi:
Ctrl+Spacebar
- Modalità di comando vi:
<Ctrl+Spacebar>
TabCompleteNext
Tentare di completare il testo che circonda il cursore con il completamento successivo disponibile.
- Modalità Windows:
Tab
- Modalità di comando vi:
<Tab>
TabCompletePrevious
Tentare di completare il testo che circonda il cursore con il completamento disponibile precedente.
- Modalità Windows:
Shift+Tab
- Modalità di comando vi:
<Shift+Tab>
ViTabCompleteNext
Termina il gruppo di modifica corrente, se necessario, e richiama TabCompleteNext.
- Modalità di inserimento vi:
Tab
ViTabCompletePrevious
Termina il gruppo di modifica corrente, se necessario, e richiama TabCompletePrevious.
- Modalità di inserimento vi:
Shift+Tab
Funzioni di spostamento del cursore
BackwardChar
Spostare il cursore un carattere a sinistra. Questo può spostare il cursore sulla riga precedente di input su più righe.
- Modalità Windows:
LeftArrow
- Modalità Emacs:
LeftArrow
,Ctrl+b
IndietroWord
Spostare di nuovo il cursore all'inizio della parola corrente o se tra parole, l'inizio della parola precedente. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità Windows:
Ctrl+LeftArrow
- Modalità Emacs:
Alt+b
,Escape,b
- Modalità di inserimento vi:
Ctrl+LeftArrow
- Modalità di comando vi:
<Ctrl+LeftArrow>
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
BeginningOfLine
Se l'input ha più righe, passare all'inizio della riga corrente o, se già all'inizio della riga, passare all'inizio dell'input. Se l'input ha una singola riga, passare all'inizio dell'input.
- Modalità Windows:
Home
- Modalità Emacs:
Home
,Ctrl+a
- Modalità di inserimento vi:
Home
- Modalità di comando vi:
<Home>
EndOfLine
Se l'input ha più righe, spostarsi alla fine della riga corrente o, se già alla fine della riga, passare alla fine dell'input. Se l'input ha una singola riga, passare alla fine dell'input.
- Modalità Windows:
End
- Modalità Emacs:
End
,Ctrl+e
- Modalità di inserimento vi:
End
ForwardChar
Spostare il cursore un carattere a destra. Questo può spostare il cursore alla riga successiva di input su più righe.
- Modalità Windows:
RightArrow
- Modalità Emacs:
RightArrow
,Ctrl+f
ForwardWord
Spostare il cursore in avanti fino alla fine della parola corrente, o se tra parole, alla fine della parola successiva. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità Emacs:
Alt+f
,Escape,f
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
GotoBrace
Passare alla parentesi graffa, alla parentesi quadra o alla parentesi quadra corrispondente.
- Modalità Windows:
Ctrl+]
- Modalità di inserimento vi:
Ctrl+]
- Modalità di comando vi:
<Ctrl+]>
GotoColumn
Passare alla colonna indicata da arg.
- Modalità di comando vi:
<|>
GotoFirstNonBlankOfLine
Spostare il cursore sul primo carattere non vuoto nella riga.
- Modalità di comando vi:
<^>
,<_>
MoveToEndOfLine
Spostare il cursore alla fine dell'input.
- Modalità di comando vi:
<End>
,<$>
MoveToFirstLine
Passare alla prima riga in un comando su più righe.
- Modalità di comando vi:
<g,g>
MoveToLastLine
Passare all'ultima riga di un comando su più righe.
- Modalità di comando vi:
<G>
NextLine
Spostare il cursore alla riga successiva.
- La funzione non è associato.
NextWord
Spostare il cursore in avanti fino all'inizio della parola successiva. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità Windows:
Ctrl+RightArrow
- Modalità di inserimento vi:
Ctrl+RightArrow
- Modalità di comando vi:
<Ctrl+RightArrow>
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
NextWordEnd
Spostare il cursore in avanti fino alla fine della parola corrente, o se tra parole, alla fine della parola successiva. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità di comando vi:
<e>
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
PreviousLine
Spostare il cursore sulla riga precedente.
- La funzione non è associato.
ShellBackwardWord
Spostare di nuovo il cursore all'inizio della parola corrente o se tra parole, l'inizio della parola precedente. I limiti di Word sono definiti dai token di PowerShell.
- La funzione non è associato.
ShellForwardWord
Spostare il cursore in avanti fino all'inizio della parola successiva. I limiti di Word sono definiti dai token di PowerShell.
- La funzione non è associato.
ShellNextWord
Spostare il cursore in avanti fino alla fine della parola corrente, o se tra parole, alla fine della parola successiva. I limiti di Word sono definiti dai token di PowerShell.
- La funzione non è associato.
ViBackwardChar
Spostare il cursore a sinistra nella modalità di modifica Vi. Questo può spostare il cursore sulla riga precedente di input su più righe.
- Modalità di inserimento vi:
LeftArrow
- Modalità di comando vi:
<LeftArrow>
,<Backspace>
,<h>
ViBackwardWord
Spostare di nuovo il cursore all'inizio della parola corrente o se tra parole, l'inizio della parola precedente. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità di comando vi:
<b>
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
ViEndOfGlob
Spostare il cursore alla fine di questa parola, come delimitato da spazi vuoti.
- Modalità di comando vi:
<E>
ViEndOfPreviousGlob
Passa alla fine della parola precedente, utilizzando solo spazi vuoti come delimitatore di parole.
- La funzione non è associato.
ViForwardChar
Spostare il cursore a destra nella modalità di modifica Vi. Questo può spostare il cursore alla riga successiva di input su più righe.
- Modalità di inserimento vi:
RightArrow
- Modalità di comando vi:
<RightArrow>
,<Spacebar>
,<l>
ViGotoBrace
Simile a GotoBrace, ma è basato su caratteri anziché basato su token.
- Modalità di comando vi:
<%>
ViNextGlob
Passa alla parola successiva, utilizzando solo spazi vuoti come delimitatore di parole.
- Modalità di comando vi:
<W>
ViNextWord
Spostare il cursore in avanti fino all'inizio della parola successiva. I limiti di Word sono definiti da un set configurabile di caratteri.
- Modalità di comando vi:
<w>
I caratteri che definiscono i limiti delle parole vengono configurati nella proprietà WordDelimiters dell'oggetto PSConsoleReadLineOptions . Per visualizzare o modificare la proprietà WordDelimiters , vedere Get-PSReadLineOption e Set-PSReadLineOption.
Funzioni cronologia
BeginningOfHistory
Passare al primo elemento della cronologia.
- Modalità Emacs:
Alt+<
ClearHistory
Cancella la cronologia in PSReadLine. Questo non influisce sulla cronologia di PowerShell.
- Modalità Windows:
Alt+F7
EndOfHistory
Passare all'ultimo elemento (l'input corrente) nella cronologia.
- Modalità Emacs:
Alt+>
ForwardSearchHistory
Eseguire una ricerca incrementale in avanti nella cronologia.
- Modalità Windows:
Ctrl+s
- Modalità Emacs:
Ctrl+s
- Modalità di inserimento vi:
Ctrl+s
- Modalità di comando vi:
<Ctrl+s>
HistorySearchBackward
Sostituire l'input corrente con l'elemento 'previous' della cronologia PSReadLine che corrisponde ai caratteri tra l'inizio e l'input e il cursore.
- Modalità Windows:
F8
HistorySearchForward
Sostituire l'input corrente con l'elemento 'next' della cronologia PSReadLine che corrisponde ai caratteri tra l'inizio e l'input e il cursore.
- Modalità Windows:
Shift+F8
NextHistory
Sostituire l'input corrente con l'elemento 'next' della cronologia di PSReadLine.
- Modalità Windows:
DownArrow
- Modalità Emacs:
DownArrow
,Ctrl+n
- Modalità di inserimento vi:
DownArrow
- Modalità di comando vi:
<DownArrow>
,<j>
,<+>
PreviousHistory
Sostituire l'input corrente con l'elemento 'precedente' della cronologia di PSReadLine.
- Modalità Windows:
UpArrow
- Modalità Emacs:
UpArrow
,Ctrl+p
- Modalità di inserimento vi:
UpArrow
- Modalità di comando vi:
<UpArrow>
,<k>
,<->
ReverseSearchHistory
Eseguire una ricerca incrementale all'indietro nella cronologia.
- Modalità Windows:
Ctrl+r
- Modalità Emacs:
Ctrl+r
- Modalità di inserimento vi:
Ctrl+r
- Modalità di comando vi:
<Ctrl+r>
ViSearchHistoryBackward
Richiede una stringa di ricerca e avvia la ricerca su AcceptLine.
- Modalità di comando vi:
</>
Funzioni varie
CaptureScreen
Avviare l'acquisizione di schermata interattiva: le frecce su/giù selezionano le righe, immettere copie del testo selezionato negli Appunti come testo e HTML.
- La funzione non è associato.
ClearScreen
Cancellare la schermata e disegnare la linea corrente nella parte superiore dello schermo.
- Modalità Windows:
Ctrl+l
- Modalità Emacs:
Ctrl+l
- Modalità di inserimento vi:
Ctrl+l
- Modalità di comando vi:
<Ctrl+l>
DigitArgument
Avviare un nuovo argomento di cifra da passare ad altre funzioni. È possibile usarlo come moltiplicatore per la funzione successiva richiamata da un tasto di scelta rapida. Ad esempio, premendo <Alt+1>
<Alt+0>
il valore dell'argomento cifra viene impostato su 10. Quindi, premendo il #
tasto vengono inviati 10 #
caratteri (##########
) alla riga di input.
Analogamente, è possibile usarlo con altre operazioni, ad esempio <Delete>
o Left-Arrow
.
- Modalità Windows:
Alt+0
,Alt+1
Alt+2
,Alt+3
,Alt+4
,Alt+5
,Alt+6
,Alt+7
,Alt+8
,Alt+9
Alt+-
- Modalità Emacs:
Alt+0
,Alt+1
,Alt+2
Alt+3
, ,Alt+4
,Alt+5
Alt+6
,Alt+7
,Alt+8
, ,Alt+9
Alt+-
- Modalità di comando vi:
<0>
,<1>
,<3>
<2>
,<4>
,<5>
,<6>
<7>
, ,<8>
<9>
InvokePrompt
Cancella il prompt corrente e chiama la funzione prompt per riprodurre nuovamente il prompt. Utile per i gestori di chiavi personalizzati che modificano lo stato. Ad esempio, modificare la directory corrente.
- La funzione non è associato.
ScrollDisplayDown
Scorrere la visualizzazione verso il basso di una schermata.
- Modalità Windows:
PageDown
- Modalità Emacs:
PageDown
ScrollDisplayDownLine
Scorrere la visualizzazione verso il basso di una riga.
- Modalità Windows:
Ctrl+PageDown
- Modalità Emacs:
Ctrl+PageDown
ScrollDisplayToCursor
Scorrere la visualizzazione fino al cursore.
- Modalità Emacs:
Ctrl+End
ScrollDisplayTop
Scorrere la visualizzazione fino alla parte superiore.
- Modalità Emacs:
Ctrl+Home
ScrollDisplayUp
Scorrere lo schermo verso l'alto di una schermata.
- Modalità Windows:
PageUp
- Modalità Emacs:
PageUp
ScrollDisplayUpLine
Scorrere la visualizzazione verso l'alto di una riga.
- Modalità Windows:
Ctrl+PageUp
- Modalità Emacs:
Ctrl+PageUp
ShowCommandHelp
Fornisce una visualizzazione della Guida completa dei cmdlet. Quando il cursore si trova alla fine di un parametro completamente espanso, premendo la <F1>
chiave posiziona la visualizzazione della Guida nella posizione del parametro.
La Guida viene visualizzata in un buffer dello schermo alternativo usando un cercapersone di Microsoft.PowerShell.Pager. Quando si esce dal cercapersone, si torna alla posizione originale del cursore sullo schermo originale. Questo cercapersone funziona solo nelle applicazioni terminal moderne, ad esempio Terminale Windows.
- Modalità Windows:
F1
- Modalità Emacs:
F1
- Modalità di inserimento vi:
F1
- Modalità di comando vi:
<F1>
ShowKeyBindings
Mostra tutte le chiavi associate.
- Modalità Windows:
Ctrl+Alt+?
- Modalità Emacs:
Ctrl+Alt+?
- Modalità di inserimento vi:
Ctrl+Alt+?
ShowParameterHelp
Fornisce la Guida dinamica per i parametri visualizzandola sotto la riga di comando corrente, ad esempio MenuComplete
. Quando si preme il <Alt+h>
tasto, il cursore deve trovarsi alla fine del nome del parametro completamente espanso.
- Modalità Windows:
Alt+h
- Modalità Emacs:
Alt+h
- Modalità di inserimento vi:
Alt+h
- Modalità di comando vi:
<Alt+h>
ViCommandMode
Passare dalla modalità operativa corrente da Vi-Insert a Vi-Command.
- Modalità di inserimento vi:
Escape
ViDigitArgumentInChord
Avviare un nuovo argomento di cifra da passare ad altre funzioni mentre in uno degli accordi di vi.
- La funzione non è associato.
ViEditVisually
Modificare la riga di comando in un editor di testo specificato da $env:EDITOR
o $env:VISUAL
.
- Modalità Emacs:
Ctrl+x,Ctrl+e
- Modalità di comando vi:
<v>
ViExit
Esce dalla shell.
- La funzione non è associato.
ViInsertMode
Passare alla modalità Di inserimento.
- Modalità di comando vi:
<i>
WhatIsKey
Leggere una chiave e indicare a cosa è associata la chiave.
- Modalità Windows:
Alt+?
- Modalità Emacs:
Alt+?
Funzioni di stima
AcceptNextSuggestionWord
Accettare la parola successiva del suggerimento inline o selezionato
- La funzione non è associato.
AcceptSuggestion
Quando si usa InlineView
come stile di visualizzazione per la stima, accettare il suggerimento inline corrente.
- La funzione non è associato.
NextSuggestion
Quando si usa ListView
come stile di visualizzazione per la stima, passare al suggerimento successivo nell'elenco.
- La funzione non è associato.
PreviousSuggestion
Quando si usa ListView
come stile di visualizzazione per la stima, passare al suggerimento precedente nell'elenco.
- La funzione non è associato.
ShowFullPredictionTooltip
Mostra la descrizione comando dell'elemento di elenco attualmente selezionato nella visualizzazione completa.
- Modalità Windows:
F4
- Modalità Emacs:
F4
- Modalità di inserimento vi:
F4
SwitchPredictionView
Cambiare lo stile di visualizzazione per la stima tra InlineView
e ListView
.
- Modalità Windows:
F2
- Modalità Emacs:
F2
- Modalità di inserimento vi:
F2
Funzioni di ricerca
CharacterSearch
Leggere un carattere e cercare in avanti l'occorrenza successiva di tale carattere. Se viene specificato un argomento, cercare avanti (o indietro, se negativo) per l'ennesima occorrenza.
- Modalità Windows:
F3
- Modalità Emacs:
Ctrl+]
- Modalità di inserimento vi:
F3
- Modalità di comando vi:
<F3>
CharacterSearchBackward
Leggere un carattere e cercare all'indietro l'occorrenza successiva di tale carattere. Se viene specificato un argomento, eseguire la ricerca all'indietro (o avanti se negativo) per l'ennesima occorrenza.
- Modalità Windows:
Shift+F3
- Modalità Emacs:
Ctrl+Alt+]
- Modalità di inserimento vi:
Shift+F3
- Modalità di comando vi:
<Shift+F3>
RepeatLastCharSearch
Ripetere l'ultima ricerca di caratteri registrata.
- Modalità di comando vi:
<;>
RepeatLastCharSearchBackwards
Ripetere l'ultima ricerca di caratteri registrata, ma nella direzione opposta.
- Modalità di comando vi:
<,>
RepeatSearch
Ripetere l'ultima ricerca nella stessa direzione di prima.
- Modalità di comando vi:
<n>
RepeatSearchBackward
Ripetere l'ultima ricerca nella stessa direzione di prima.
- Modalità di comando vi:
<N>
SearchChar
Leggere il carattere successivo e quindi trovarlo, andando avanti.
- Modalità di comando vi:
<f>
SearchCharBackward
Leggere il carattere successivo e quindi trovarlo, tornando indietro.
- Modalità di comando vi:
<F>
SearchCharBackwardWithBackoff
Leggere il carattere successivo e quindi trovarlo, tornare indietro e quindi tornare indietro di un carattere.
- Modalità di comando vi:
<T>
SearchCharWithBackoff
Leggere il carattere successivo e quindi trovarlo, andare avanti e quindi tornare indietro di un carattere.
- Modalità di comando vi:
<t>
SearchForward
Richiede una stringa di ricerca e avvia la ricerca su AcceptLine.
- Modalità di comando vi:
<?>
Funzioni di selezione
ExchangePointAndMark
Il cursore viene posizionato nella posizione del contrassegno e il segno viene spostato nella posizione del cursore.
- Modalità Emacs:
Ctrl+x,Ctrl+x
SelectAll
Selezionare l'intera riga.
- Modalità Windows:
Ctrl+a
SelectBackwardChar
Regolare la selezione corrente per includere il carattere precedente.
- Modalità Windows:
Shift+LeftArrow
- Modalità Emacs:
Shift+LeftArrow
SelectBackwardsLine
Regolare la selezione corrente in modo da includere dal cursore all'inizio della riga.
- Modalità Windows:
Shift+Home
- Modalità Emacs:
Shift+Home
SelectBackwardWord
Regolare la selezione corrente in modo da includere la parola precedente.
- Modalità Windows:
Shift+Ctrl+LeftArrow
- Modalità Emacs:
Alt+B
SelezionareCommandArgument
Effettuare la selezione visiva degli argomenti del comando. La selezione di argomenti è compresa nell'ambito di un blocco di script. In base alla posizione del cursore, cerca dal blocco di script più interno al blocco di script all'esterno e si arresta quando trova qualsiasi argomento nell'ambito di un blocco di script.
Questa funzione rispetta DigitArgument. Considera i valori degli argomenti positivi o negativi come offset in avanti o indietro rispetto all'argomento attualmente selezionato o dalla posizione corrente del cursore quando non è selezionato alcun argomento.
- Modalità Windows:
Alt+a
- Modalità Emacs:
Alt+a
SelectForwardChar
Regolare la selezione corrente per includere il carattere successivo.
- Modalità Windows:
Shift+RightArrow
- Modalità Emacs:
Shift+RightArrow
SelectForwardWord
Regolare la selezione corrente in modo da includere la parola successiva usando ForwardWord.
- Modalità Emacs:
Alt+F
SelectLine
Regolare la selezione corrente in modo da includere dal cursore alla fine della riga.
- Modalità Windows:
Shift+End
- Modalità Emacs:
Shift+End
SelectNextWord
Regolare la selezione corrente per includere la parola successiva.
- Modalità Windows:
Shift+Ctrl+RightArrow
SelezionareShellBackwardWord
Regolare la selezione corrente per includere la parola precedente usando ShellBackwardWord.
- La funzione non è associato.
SelezionareShellForwardWord
Regolare la selezione corrente per includere la parola successiva usando ShellForwardWord.
- La funzione non è associato.
SelezionareShellAvantiWord
Regolare la selezione corrente per includere la parola successiva usando ShellNextWord.
- La funzione non è associato.
SetMark
Contrassegnare la posizione corrente del cursore da usare in un comando di modifica successivo.
- Modalità Emacs:
Ctrl+@
API di supporto per l'associazione di chiavi personalizzate
Le funzioni seguenti sono pubbliche in Microsoft.PowerShell.PSConsoleReadLine, ma non possono essere associate direttamente a una chiave. La maggior parte è utile nelle associazioni di tasti personalizzate.
void AddToHistory(string command)
Aggiungere una riga di comando alla cronologia senza eseguirla.
void ClearKillRing()
Cancellare l'anello di morte. Questa operazione viene usata principalmente per i test.
void Delete(int start, int length)
Eliminare i caratteri di lunghezza dall'inizio. Questa operazione supporta l'annullamento/rollforward.
void Ding()
Eseguire l'azione Ding in base alle preferenze dell'utente.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Queste due funzioni recuperano informazioni utili sullo stato corrente del buffer di input. Il primo è più comunemente usato per i casi semplici. Il secondo viene usato se l'associazione esegue un'operazione più avanzata con Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Queste due funzioni vengono usate da Get-PSReadLineKeyHandler
. Il primo viene usato per ottenere tutti i tasti di scelta rapida. Il secondo viene usato per ottenere associazioni di tasti specifiche.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Questa funzione viene usata da Get-PSReadLineOption e probabilmente non è troppo utile in un'associazione di tasti personalizzata.
void GetSelectionState([ref] int start, [ref] int length)
Se non è presente alcuna selezione nella riga di comando, la funzione restituisce -1 sia in start che in length. Se è presente una selezione nella riga di comando, viene restituita la lunghezza e l'inizio della selezione.
void Insert(char c)
void Insert(string s)
Inserire un carattere o una stringa nel cursore. Questa operazione supporta l'annullamento/rollforward.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Si tratta del punto di ingresso principale di PSReadLine. Non supporta la ricorsione, quindi non è utile in un'associazione di tasti personalizzata.
void RemoveKeyHandler(string[] key)
Questa funzione viene usata da Remove-PSReadLineKeyHandler e probabilmente non è troppo utile in un'associazione di tasti personalizzata.
void Replace(int start, int length, string replacement)
Sostituire un input. Questa operazione supporta l'annullamento/rollforward. Questa opzione è preferibile rispetto a Elimina seguita da Inserisci perché viene considerata come una singola azione per l'annullamento.
void SetCursorPosition(int cursor)
Spostare il cursore sull'offset specificato. Lo spostamento del cursore non viene rilevato per l'annullamento.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Questa funzione è un metodo helper usato dal cmdlet Set-PSReadLineOption
, ma potrebbe essere utile per un'associazione di tasti personalizzata che vuole modificare temporaneamente un'impostazione.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Questo metodo helper viene usato per associazioni personalizzate che rispettano DigitArgument. Una chiamata tipica ha un aspetto simile al seguente
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Note
Comportamento dell'evento OnIdle
Quando PSReadLine è in uso, l'evento OnIdle viene generato quando
ReadKey()
si verifica il timeout (nessuna digitazione in 300 ms). L'evento può essere segnalato mentre l'utente sta modificando una riga di comando, ad esempio l'utente sta leggendo la Guida per decidere quale parametro usare.A partire da PSReadLine 2.2.0-beta4, il comportamento OnIdle è stato modificato per segnalare l'evento solo se è presente un
ReadKey()
timeout e il buffer di modifica corrente è vuoto.