about_PSReadLine_Functions
Kort beskrivning
PSReadLine ger en förbättrad kommandoradsredigering i PowerShell-konsolen.
Lång beskrivning
PowerShell 7.3 levereras med PSReadLine 2.2.6. Den aktuella versionen är PSReadLine 2.3.4. Den aktuella versionen av PSReadLine kan installeras och användas i Windows PowerShell 5.1 och senare. För vissa funktioner måste du köra PowerShell 7.2 eller senare.
Den här artikeln dokumenterar funktionerna som tillhandahålls av PSReadLine 2.3.4. Dessa funktioner kan bindas till tangenttryckningar för enkel åtkomst och anrop.
Använda klassen Microsoft.PowerShell.PSConsoleReadLine
Följande funktioner är tillgängliga i klassen Microsoft.PowerShell.PSConsoleReadLine.
Grundläggande redigeringsfunktioner
Avbryt
Avbryt den aktuella åtgärden, till exempel: inkrementell historiksökning.
- Emacs-läge:
Ctrl+g
- Vi-infogningsläge:
Ctrl+g
- Vi-kommandoläge:
<Ctrl+g>
AcceptAndGetNext
Försök att köra de aktuella indata. Om det kan köras (till exempel AcceptLine) återkallar du nästa objekt från historiken nästa gång ReadLine anropas.
- Emacs-läge:
Ctrl+o
AcceptLine
Försök att köra de aktuella indata. Om de aktuella indata är ofullständiga (till exempel om det saknas avslutande parenteser, hakparenteser eller citattecken) visas fortsättningsprompten på nästa rad och PSReadLine väntar på att nycklarna ska redigera de aktuella indata.
- Windows-läge:
Enter
- Emacs-läge:
Enter
- Vi-infogningsläge:
Enter
Lägg till rad
Fortsättningsprompten visas på nästa rad och PSReadLine väntar på att nycklar ska redigera de aktuella indata. Det här är användbart om du vill ange indata för flera rader som ett enda kommando även när en enda rad är fullständig inmatning av sig själv.
- Windows-läge:
Shift+Enter
- Emacs-läge:
Shift+Enter
- Vi-infogningsläge:
Shift+Enter
- Vi-kommandoläge:
<Shift+Enter>
Bakåtta bortdiagram
Ta bort tecknet före markören.
- Windows-läge:
Backspace
,Ctrl+h
- Emacs-läge:
Backspace
,Ctrl+Backspace
,Ctrl+h
- Vi-infogningsläge:
Backspace
- Vi-kommandoläge:
<X>
,<d,h>
BakåtTa bortInflöde
Som BackwardKillInput – tar bort text från punkten till början av indata, men lägger inte den borttagna texten i kill-ringen.
- Windows-läge:
Ctrl+Home
- Vi-infogningsläge:
Ctrl+u
,Ctrl+Home
- Vi-kommandoläge:
<Ctrl+u>
,<Ctrl+Home>
Bakåtta bortrad
Som BackwardKillLine – tar bort text från punkten till början av raden, men lägger inte den borttagna texten i kill-ringen.
- Vi-kommandoläge:
<d,0>
Bakåtta bortord
Tar bort föregående ord.
- Vi-kommandoläge:
<Ctrl+w>
,<d,b>
BackwardKillInput
Rensa texten från början av indata till markören. Den rensade texten placeras i kill-ringen.
- Emacs-läge:
Ctrl+u
,Ctrl+x,Backspace
Bakåtkillline
Rensa texten från början av den aktuella logiska linjen till markören. Den rensade texten placeras i kill-ringen.
- Funktionen är obundet.
Bakåtkillword
Rensa indata från början av det aktuella ordet till markören. Om markören är mellan ord rensas indata från början av föregående ord till markören. Den rensade texten placeras i kill-ringen.
- Windows-läge:
Ctrl+Backspace
,Ctrl+w
- Emacs-läge:
Alt+Backspace
,Escape,Backspace
- Vi-infogningsläge:
Ctrl+Backspace
- Vi-kommandoläge:
<Ctrl+Backspace>
BakåtReplaceChar
Ersätter tecknet framför markören.
- Vi-kommandoläge:
<c,h>
CancelLine
Avbryt den aktuella inmatningen och lämna indata på skärmen, men återgår till värden så att kommandotolken utvärderas igen.
- Vi-infogningsläge:
Ctrl+c
- Vi-kommandoläge:
<Ctrl+c>
Versaler
Har lagts till i PSReadLine 2.3.0
Konvertera det första tecknet i nästa ord till versaler och återstående tecken till gemener.
- Emacs-läge:
Alt+c
,Escape,c
Kopiera
Kopiera den valda regionen till systemurklippet. Om ingen region är markerad kopierar du hela raden.
- Windows-läge:
Ctrl+C
CopyOrCancelLine
Om text är markerad kopierar du till Urklipp, annars avbryter du raden.
- Windows-läge:
Ctrl+c
- Emacs-läge:
Ctrl+c
Klipp ut
Ta bort markerad region som placerar borttagen text i systemurklippet.
- Windows-läge:
Ctrl+x
DeleteChar
Ta bort tecknet under markören.
- Windows-läge:
Delete
- Emacs-läge:
Delete
- Vi-infogningsläge:
Delete
- Vi-kommandoläge:
<Delete>
,<x>
,<d,l>
,<d,Spacebar>
DeleteCharOrExit
Ta bort tecknet under markören eller avsluta processen om raden är tom.
- Emacs-läge:
Ctrl+d
DeleteEndOfBuffer
Tar bort till slutet av bufferten för flera ledningar.
- Vi-kommandoläge:
<d,G>
DeleteEndOfWord
Ta bort till slutet av ordet.
- Vi-kommandoläge:
<d,e>
DeleteLine
Tar bort den aktuella logiska raden i en buffert med flera rader, vilket aktiverar ångra.
- Vi-kommandoläge:
<d,d>
,<d,_>
DeleteLineToFirstChar
Tar bort från det första icke-tomma tecknet för den aktuella logiska raden i en buffert med flera rader.
- Vi-kommandoläge:
<d,^>
DeleteNextLines
Tar bort de aktuella och nästa n logiska linjerna i en buffert med flera rader.
- Vi-kommandoläge:
<d,j>
DeletePreviousLines
Tar bort de tidigare begärda logiska raderna och den aktuella logiska raden i en buffert med flera rader.
- Vi-kommandoläge:
<d,k>
DeleteRelativeLines
Tar bort från början av bufferten till den aktuella logiska raden i en buffert med flera rader.
Som de flesta Vi-kommandon <d,g,g>
kan kommandot förberedas med ett numeriskt argument som anger ett absolut radnummer, som tillsammans med det aktuella radnumret utgör ett radintervall som ska tas bort. Om det inte anges är det numeriska argumentet standardvärdet 1, vilket refererar till den första logiska raden i en buffert med flera rader.
Det faktiska antalet rader som ska tas bort från flera rader beräknas som skillnaden mellan det aktuella logiska radnumret och det angivna numeriska argumentet, vilket därmed kan vara negativt. Därav den relativa delen av metodnamnet.
- Vi-kommandoläge:
<d,g,g>
DeleteToEnd
Ta bort till slutet av raden.
- Vi-kommandoläge:
<D>
,<d,$>
DeleteWord
Ta bort nästa ord.
- Vi-kommandoläge:
<d,w>
NedcaseWord
Har lagts till i PSReadLine 2.3.0
Konvertera nästa ord till gemener.
- Emacs-läge:
Alt+l
,Escape,l
ForwardDeleteInput
Precis som KillLine – tar bort text från punkten till slutet av indata, men lägger inte den borttagna texten i kill-ringen.
- Windows-läge:
Ctrl+End
- Vi-infogningsläge:
Ctrl+End
- Vi-kommandoläge:
<Ctrl+End>
ForwardDeleteLine
Tar bort text från punkten till slutet av den aktuella logiska linjen, men placerar inte den borttagna texten i kill-ringen.
- Funktionen är obunden
InsertLineAbove
En ny tom rad skapas ovanför den aktuella raden oavsett var markören finns på den aktuella raden. Markören flyttas till början av den nya raden.
- Windows-läge:
Ctrl+Enter
InsertLineBelow
En ny tom rad skapas under den aktuella raden oavsett var markören finns på den aktuella raden. Markören flyttas till början av den nya raden.
- Windows-läge:
Shift+Ctrl+Enter
Inverterad portfölj
Invertera fallet med det aktuella tecknet och flytta till nästa.
- Vi-kommandoläge:
<~>
KillLine
Rensa indata från markören till slutet av indata. Den rensade texten placeras i kill-ringen.
- Emacs-läge:
Ctrl+k
KillRegion
Döda texten mellan markören och markeringen.
- Funktionen är obundet.
KillWord
Rensa indata från markören till slutet av det aktuella ordet. Om markören är mellan ord rensas indata från markören till slutet av nästa ord. Den rensade texten placeras i kill-ringen.
- Windows-läge:
Alt+d
,Ctrl+Delete
- Emacs-läge:
Alt+d
,Escape,d
- Vi-infogningsläge:
Ctrl+Delete
- Vi-kommandoläge:
<Ctrl+Delete>
Klistra in
Klistra in text från systemurklippet.
- Windows-läge:
Ctrl+v
,Shift+Insert
- Vi-infogningsläge:
Ctrl+v
- Vi-kommandoläge:
<Ctrl+v>
Viktigt!
När du använder funktionen Klistra in klistras hela innehållet i Urklippsbuffert in i indatabufferten i PSReadLine. Indatabufferten skickas sedan till PowerShell-parsern. Indata som klistras in med hjälp av konsolprogrammets metod för att högerklicka på klistra in kopieras till indatabufferten med ett tecken i taget. Indatabufferten skickas till parsern när ett nytt radtecken kopieras. Därför parsas indata en rad i taget. Skillnaden mellan inklistringsmetoder resulterar i olika körningsbeteenden.
PasteAfter
Klistra in Urklipp efter markören och flytta markören till slutet av den klistrade texten.
- Vi-kommandoläge:
<p>
PasteBefore
Klistra in Urklipp före markören och flytta markören till slutet av den inklistrade texten.
- Vi-kommandoläge:
<P>
PrependAndAccept
Förbered en #och acceptera raden.
- Vi-kommandoläge:
<#>
Gör om
Ångra en ångrad.
- Windows-läge:
Ctrl+y
- Vi-infogningsläge:
Ctrl+y
- Vi-kommandoläge:
<Ctrl+y>
RepeatLastCommand
Upprepa den senaste textändringen.
- Vi-kommandoläge:
<.>
ReplaceChar
Ersätt det aktuella tecknet med nästa uppsättning tecken som skrivits.
- Vi-kommandoläge:
<c,l>
,<c,Spacebar>
ReplaceCharInPlace
Ersätt det aktuella tecknet med endast ett tecken.
- Vi-kommandoläge:
<r>
RevertLine
Återställer alla indata till de aktuella indata.
- Windows-läge:
Escape
- Emacs-läge:
Alt+r
,Escape,r
ShellBackwardKillWord
Rensa indata från början av det aktuella ordet till markören. Om markören är mellan ord rensas indata från början av föregående ord till markören. Den rensade texten placeras i kill-ringen.
Funktionen är obundet.
ShellKillWord
Rensa indata från markören till slutet av det aktuella ordet. Om markören är mellan ord rensas indata från markören till slutet av nästa ord. Den rensade texten placeras i kill-ringen.
Funktionen är obundet.
SwapCharacters
Växla det aktuella tecknet och det före det.
- Emacs-läge:
Ctrl+t
- Vi-infogningsläge:
Ctrl+t
- Vi-kommandoläge:
<Ctrl+t>
Ångra
Ångra en tidigare redigering.
- Windows-läge:
Ctrl+z
- Emacs-läge:
Ctrl+_
,Ctrl+x,Ctrl+u
- Vi-infogningsläge:
Ctrl+z
- Vi-kommandoläge:
<Ctrl+z>
,<u>
ÅngraAlla
Ångra alla tidigare redigeringar för rad.
- Vi-kommandoläge:
<U>
UnixWordRubout
Rensa indata från början av det aktuella ordet till markören. Om markören är mellan ord rensas indata från början av föregående ord till markören. Den rensade texten placeras i kill-ringen.
- Emacs-läge:
Ctrl+w
UpcaseWord
Har lagts till i PSReadLine 2.3.0
Konvertera nästa ord till versaler.
- Emacs-läge:
Alt+u
,Escape,u
ValidateAndAcceptLine
Försök att köra de aktuella indata. Om de aktuella indata är ofullständiga (till exempel om det saknas avslutande parenteser, hakparenteser eller citattecken) visas fortsättningsprompten på nästa rad och PSReadLine väntar på att nycklarna ska redigera de aktuella indata.
- Emacs-läge:
Ctrl+m
ViAcceptLine
Acceptera raden och växla till Infogningsläge.
- Vi-kommandoläge:
<Enter>
ViAcceptLineOrExit
Som DeleteCharOrExit i Emacs-läge, men accepterar raden i stället för att ta bort ett tecken.
- Vi-infogningsläge:
Ctrl+d
- Vi-kommandoläge:
<Ctrl+d>
ViAppendLine
En ny rad infogas under den aktuella raden.
- Vi-kommandoläge:
<o>
ViBackwardDeleteGlob
Tar bort föregående ord med endast blanksteg som ordet avgränsare.
- Vi-kommandoläge:
<d,B>
ViBackwardGlob
Flyttar markören tillbaka till början av föregående ord med endast blanksteg som avgränsare.
- Vi-kommandoläge:
<B>
ViBackwardReplaceGlob
Ta bort bakåt till början av föregående ord, som avgränsat av tomt utrymme, och ange infogningsläge.
- Vi-kommandoläge:
<c,B>
ViBackwardReplaceLine
Ersätter raden till vänster om markören och hela vägen till början.
- Vi-kommandoläge:
<c,0>
ViBackwardReplaceLineToFirstChar
Ersätter raden till vänster om markören och alla tecken utom ett i början av raden.
- Vi-kommandoläge:
<c,^>
ViBackwardReplaceWord
Ersätt föregående ord.
- Vi-kommandoläge:
<c,B>
ViDeleteBrace
Hitta matchande klammerparentes, parentes eller hakparentes och ta bort allt innehåll inom, inklusive klammerparentesen.
- Vi-kommandoläge:
<d,%>
ViDeleteEndOfGlob
Ta bort till slutet av ordet.
- Vi-kommandoläge:
<d,E>
ViDeleteGlob
Ta bort nästa glob (tomt utrymme avgränsat ord).
- Vi-kommandoläge:
<d,W>
ViDeleteToBeforeChar
Tar bort tills det angivna tecknet har angetts.
- Vi-kommandoläge:
<d,t>
ViDeleteToBeforeCharBackward
Tar bort tills det angivna tecknet har angetts.
- Vi-kommandoläge:
<d,T>
ViDeleteToChar
Tar bort tills det angivna tecknet har angetts.
- Vi-kommandoläge:
<d,f>
ViDeleteToCharBackward
Tar bort bakåt tills det angivna tecknet har angetts.
- Vi-kommandoläge:
<d,F>
ViInsertAtBegining
Växla till Infoga läge och placera markören i början av raden.
- Vi-kommandoläge:
<I>
ViInsertAtEnd
Växla till Infoga läge och placera markören i slutet av raden.
- Vi-kommandoläge:
<A>
ViInsertLine
En ny rad infogas ovanför den aktuella raden.
- Vi-kommandoläge:
<O>
ViInsertWithAppend
Lägg till från den aktuella radpositionen.
- Vi-kommandoläge:
<a>
ViInsertWithDelete
Ta bort det aktuella tecknet och växla till Infoga läge.
- Vi-kommandoläge:
<s>
ViJoinLines
Ansluter den aktuella raden och nästa rad.
- Vi-kommandoläge:
<J>
ViReplaceBrace
Ersätt alla tecken mellan det aktuella klammerparentestecknet och dess matchande partner.
- Vi-kommandoläge:
<c,%>
ViReplaceEndOfGlob
Ta bort till slutet av ordet, som avgränsat av tomt utrymme, och ange infogningsläge.
- Vi-kommandoläge:
<c,E>
ViReplaceEndOfWord
Ta bort till slutet av ordet, som avgränsat av tomt utrymme och vanliga avgränsare, och ange infogningsläge.
- Vi-kommandoläge:
<c,E>
ViReplaceGlob
Ta bort till början av nästa ord, som avgränsat av tomt utrymme, och ange infogningsläge.
- Vi-kommandoläge:
<c,W>
ViReplaceLine
Radera hela kommandoraden.
- Vi-kommandoläge:
<S>
,<c,c>
ViReplaceToBeforeChar
Ersätter tills det givna tecknet har angetts.
- Vi-kommandoläge:
<c,t>
ViReplaceToBeforeCharBackward
Ersätter tills det givna tecknet har angetts.
- Vi-kommandoläge:
<c,T>
ViReplaceToChar
Tar bort tills det angivna tecknet har angetts.
- Vi-kommandoläge:
<c,f>
ViReplaceToCharBackward
Ersätter tills det givna tecknet har angetts.
- Vi-kommandoläge:
<c,F>
ViReplaceToEnd
Ersätt tecknen från markörens position till slutet av raden.
- Vi-kommandoläge:
<c,$>
,<C>
ViReplaceUntilEsc
Ersätt det aktuella tecknet tills en escape har angetts eller raden accepteras.
- Vi-kommandoläge:
<r>
ViReplaceWord
Ersätt det aktuella ordet.
- Vi-kommandoläge:
<c,W>
ViYankBeginningOfLine
Ryck från början av bufferten till markören.
- Vi-kommandoläge:
<y,0>
ViYankEndOfGlob
Ryck från markören till slutet av WORD(s).
- Vi-kommandoläge:
<y,E>
ViYankEndOfWord
Ryck från markören till slutet av ordet(erna).
- Vi-kommandoläge:
<y,e>
ViYankLeft
Yank tecken till vänster om markören.
- Vi-kommandoläge:
<y,h>
ViYankLine
Dra hela bufferten.
- Vi-kommandoläge:
<y,y>
ViYankNextGlob
Ryck från markören till början av nästa WORD(s).
- Vi-kommandoläge:
<y,W>
ViYankNextWord
Dra ordet efter markören.
- Vi-kommandoläge:
<y,w>
ViYankPercent
Ryck till/från matchande klammerparentes.
- Vi-kommandoläge:
<y,%>
ViYankPreviousGlob
Ryck från början av WORD(er) till markören.
- Vi-kommandoläge:
<y,B>
ViYankPreviousWord
Dra ordet(erna) före markören.
- Vi-kommandoläge:
<y,b>
ViYankRight
Yank tecken under och till höger om markören.
- Vi-kommandoläge:
<y,l>
,<y,Spacebar>
ViYankToEndOfLine
Ryck från markören till slutet av bufferten.
- Vi-kommandoläge:
<y,$>
ViYankToFirstChar
Dra från det första icke-blankstegstecknet till markören.
- Vi-kommandoläge:
<y,^>
Ryck
Lägg till den senast dödade texten i indata.
- Emacs-läge:
Ctrl+y
YankLastArg
Dra tillbaka det sista argumentet från den tidigare historikraden. Med ett argument beter sig första gången det anropas precis som YankNthArg. Om det anropas flera gånger itererar det i stället genom historiken och arg anger riktningen (negativ vänder riktningen.)
- Windows-läge:
Alt+.
- Emacs-läge:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankNthArg
Dra det första argumentet (efter kommandot) från föregående historikrad. Med ett argument drar du tillbaka argumentet nth (från 0), om argumentet är negativt börjar du från det sista argumentet.
- Emacs-läge:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Om den tidigare operationen var Yank eller YankPop ersätter du den tidigare jänkade texten med nästa dödade text från kill-ringen.
- Emacs-läge:
Alt+y
,Escape,y
Slutförandefunktioner
Klart
Försök att slutföra texten som omger markören. Om det finns flera möjliga slutföranden används det längsta entydiga prefixet för slutförande. Om du försöker slutföra det längsta entydiga slutförandet visas en lista över möjliga slutföranden.
- Emacs-läge:
Tab
MenuComplete
Försök att slutföra texten som omger markören. Om det finns flera möjliga slutföranden används det längsta entydiga prefixet för slutförande. Om du försöker slutföra det längsta entydiga slutförandet visas en lista över möjliga slutföranden.
- Windows-läge:
Ctrl+@
,Ctrl+Spacebar
- Emacs-läge:
Ctrl+Spacebar
PossibleCompletions
Visa listan över möjliga slutföranden.
- Emacs-läge:
Alt+=
- Vi-infogningsläge:
Ctrl+Spacebar
- Vi-kommandoläge:
<Ctrl+Spacebar>
TabCompleteNästa
Försök att slutföra texten som omger markören med nästa tillgängliga slutförande.
- Windows-läge:
Tab
- Vi-kommandoläge:
<Tab>
TabCompletePrevious
Försök att slutföra texten som omger markören med föregående tillgängliga slutförande.
- Windows-läge:
Shift+Tab
- Vi-kommandoläge:
<Shift+Tab>
ViTabCompleteNästa
Avslutar den aktuella redigeringsgruppen om det behövs och anropar TabCompleteNext.
- Vi-infogningsläge:
Tab
ViTabCompletePrevious
Avslutar den aktuella redigeringsgruppen om det behövs och anropar TabCompletePrevious.
- Vi-infogningsläge:
Shift+Tab
Markörförflyttningsfunktioner
Bakåtdiagram
Flytta markören ett tecken till vänster. Detta kan flytta markören till föregående rad med indata för flera rader.
- Windows-läge:
LeftArrow
- Emacs-läge:
LeftArrow
,Ctrl+b
Bakåtord
Flytta markören tillbaka till början av det aktuella ordet, eller om mellan ord, början av föregående ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Windows-läge:
Ctrl+LeftArrow
- Emacs-läge:
Alt+b
,Escape,b
- Vi-infogningsläge:
Ctrl+LeftArrow
- Vi-kommandoläge:
<Ctrl+LeftArrow>
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
BeginningOfLine
Om indata har flera rader går du till början av den aktuella raden, eller om den redan är i början av raden, går du till början av indata. Om indata har en enda rad går du till början av indata.
- Windows-läge:
Home
- Emacs-läge:
Home
,Ctrl+a
- Vi-infogningsläge:
Home
- Vi-kommandoläge:
<Home>
EndOfLine
Om indata har flera rader går du till slutet av den aktuella raden, eller om den redan finns i slutet av raden, flyttar du till slutet av indata. Om indata har en enda rad går du till slutet av indata.
- Windows-läge:
End
- Emacs-läge:
End
,Ctrl+e
- Vi-infogningsläge:
End
Framåtdiagram
Flytta markören ett tecken åt höger. Detta kan flytta markören till nästa rad med flerradsindata.
- Windows-läge:
RightArrow
- Emacs-läge:
RightArrow
,Ctrl+f
Framåtord
Flytta markören framåt till slutet av det aktuella ordet, eller om mellan ord, till slutet av nästa ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Emacs-läge:
Alt+f
,Escape,f
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
GotoBrace
Gå till matchande klammerparentes, parentes eller hakparentes.
- Windows-läge:
Ctrl+]
- Vi-infogningsläge:
Ctrl+]
- Vi-kommandoläge:
<Ctrl+]>
GotoColumn
Flytta till kolumnen som anges av arg.
- Vi-kommandoläge:
<|>
GotoFirstNonBlankOfLine
Flytta markören till det första icke-tomma tecknet på raden.
- Vi-kommandoläge:
<^>
,<_>
MoveToEndOfLine
Flytta markören till slutet av indata.
- Vi-kommandoläge:
<End>
,<$>
MoveToFirstLine
Gå till den första raden i ett flerradskommando.
- Vi-kommandoläge:
<g,g>
MoveToLastLine
Gå till den sista raden i ett flerradskommando.
- Vi-kommandoläge:
<G>
NextLine
Flytta markören till nästa rad.
- Funktionen är obundet.
NextWord
Flytta markören framåt till början av nästa ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Windows-läge:
Ctrl+RightArrow
- Vi-infogningsläge:
Ctrl+RightArrow
- Vi-kommandoläge:
<Ctrl+RightArrow>
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
NextWordEnd
Flytta markören framåt till slutet av det aktuella ordet, eller om mellan ord, till slutet av nästa ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Vi-kommandoläge:
<e>
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
Föregående rad
Flytta markören till föregående rad.
- Funktionen är obundet.
ShellBackwardWord
Flytta markören tillbaka till början av det aktuella ordet, eller om mellan ord, början av föregående ord. Word-gränser definieras av PowerShell-token.
- Funktionen är obundet.
ShellForwardWord
Flytta markören framåt till början av nästa ord. Word-gränser definieras av PowerShell-token.
- Funktionen är obundet.
ShellNextWord
Flytta markören framåt till slutet av det aktuella ordet, eller om mellan ord, till slutet av nästa ord. Word-gränser definieras av PowerShell-token.
- Funktionen är obundet.
ViBackwardChar
Flytta markören ett tecken till vänster i redigeringsläget Vi. Detta kan flytta markören till föregående rad med indata för flera rader.
- Vi-infogningsläge:
LeftArrow
- Vi-kommandoläge:
<LeftArrow>
,<Backspace>
,<h>
ViBackwardWord
Flytta markören tillbaka till början av det aktuella ordet, eller om mellan ord, början av föregående ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Vi-kommandoläge:
<b>
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
ViEndOfGlob
Flytta markören till slutet av det här ordet, som avgränsat av tomt utrymme.
- Vi-kommandoläge:
<E>
ViEndOfPreviousGlob
Flyttas till slutet av föregående ord med endast blanksteg som en ordgränsare.
- Funktionen är obundet.
ViForwardChar
Flytta markören ett tecken åt höger i redigeringsläget Vi. Detta kan flytta markören till nästa rad med flerradsindata.
- Vi-infogningsläge:
RightArrow
- Vi-kommandoläge:
<RightArrow>
,<Spacebar>
,<l>
ViGotoBrace
Liknar GotoBrace, men är teckenbaserat i stället för tokenbaserat.
- Vi-kommandoläge:
<%>
ViNextGlob
Flyttas till nästa ord med endast blanksteg som ord avgränsare.
- Vi-kommandoläge:
<W>
ViNextWord
Flytta markören framåt till början av nästa ord. Ordgränser definieras av en konfigurerbar uppsättning tecken.
- Vi-kommandoläge:
<w>
Tecknen som definierar ordgränser konfigureras i egenskapen WordDelimiters för OBJEKTET PSConsoleReadLineOptions . Information om hur du visar eller ändrar egenskapen WordDelimiters finns i Get-PSReadLineOption och Set-PSReadLineOption.
Funktioner för historik
BeginningOfHistory
Flytta till det första objektet i historiken.
- Emacs-läge:
Alt+<
ClearHistory
Rensar historiken i PSReadLine. Detta påverkar inte PowerShell-historiken.
- Windows-läge:
Alt+F7
EndOfHistory
Flytta till det sista objektet (de aktuella indata) i historiken.
- Emacs-läge:
Alt+>
ForwardSearchHistory
Utför en inkrementell sökning genom historiken.
- Windows-läge:
Ctrl+s
- Emacs-läge:
Ctrl+s
- Vi-infogningsläge:
Ctrl+s
- Vi-kommandoläge:
<Ctrl+s>
HistorySearchBackward
Ersätt den aktuella indatan med det "föregående" objektet från PSReadLine-historiken som matchar tecknen mellan start och indata och markören.
- Windows-läge:
F8
HistorySearchForward
Ersätt den aktuella indatan med nästa objekt från PSReadLine-historiken som matchar tecknen mellan start och indata och markören.
- Windows-läge:
Shift+F8
NextHistory
Ersätt de aktuella indata med nästa objekt från PSReadLine-historiken.
- Windows-läge:
DownArrow
- Emacs-läge:
DownArrow
,Ctrl+n
- Vi-infogningsläge:
DownArrow
- Vi-kommandoläge:
<DownArrow>
,<j>
,<+>
PreviousHistory
Ersätt de aktuella indata med föregående objekt från PSReadLine-historiken.
- Windows-läge:
UpArrow
- Emacs-läge:
UpArrow
,Ctrl+p
- Vi-infogningsläge:
UpArrow
- Vi-kommandoläge:
<UpArrow>
,<k>
,<->
ReverseSearchHistory
Utför en inkrementell bakåtsökning genom historiken.
- Windows-läge:
Ctrl+r
- Emacs-läge:
Ctrl+r
- Vi-infogningsläge:
Ctrl+r
- Vi-kommandoläge:
<Ctrl+r>
ViSearchHistoryBackward
Frågar efter en söksträng och initierar sökning på AcceptLine.
- Vi-kommandoläge:
</>
Diverse funktioner
CaptureScreen
Starta interaktiv skärmdump – uppåt-/nedåtpilar väljer linjer, anger kopior av markerad text till Urklipp som text och HTML.
- Funktionen är obundet.
ClearScreen
Rensa skärmen och rita den aktuella linjen överst på skärmen.
- Windows-läge:
Ctrl+l
- Emacs-läge:
Ctrl+l
- Vi-infogningsläge:
Ctrl+l
- Vi-kommandoläge:
<Ctrl+l>
DigitArgument
Starta ett nytt sifferargument för att skicka till andra funktioner. Du kan använda detta som multiplikator för nästa funktion som anropas av en nyckeltryckare. Om du till exempel trycker på <Alt+1>
<Alt+0>
anges värdet för digit-argument till 10. När du trycker på nyckeln skickas #
sedan 10 #
tecken (##########
) till indataraden.
På samma sätt kan du använda detta med andra åtgärder, till exempel <Delete>
eller Left-Arrow
.
- Windows-läge:
Alt+0
,Alt+1
,Alt+2
,Alt+3
,Alt+4
,Alt+5
,Alt+6
,Alt+7
,Alt+8
, ,Alt+9
Alt+-
- Emacs-läge:
Alt+0
,Alt+1
,Alt+2
,Alt+3
,Alt+4
,Alt+5
,Alt+6
,Alt+7
,Alt+8
, ,Alt+9
Alt+-
- Vi-kommandoläge:
<0>
,<1>
,<2>
,<3>
,<4>
,<5>
,<6>
,<7>
, ,<8>
<9>
InvokePrompt
Raderar den aktuella prompten och anropar promptfunktionen för att återspela prompten. Användbart för anpassade nyckelhanterare som ändrar tillstånd. Ändra till exempel den aktuella katalogen.
- Funktionen är obundet.
ScrollDisplayDown
Rulla ned skärmen en skärm.
- Windows-läge:
PageDown
- Emacs-läge:
PageDown
ScrollDisplayDownLine
Rulla ned visningen en rad.
- Windows-läge:
Ctrl+PageDown
- Emacs-läge:
Ctrl+PageDown
ScrollDisplayToCursor
Rulla visningen till markören.
- Emacs-läge:
Ctrl+End
ScrollDisplayTop
Rulla skärmen överst.
- Emacs-läge:
Ctrl+Home
ScrollDisplayUp
Rulla upp skärmen en skärm.
- Windows-läge:
PageUp
- Emacs-läge:
PageUp
ScrollDisplayUpLine
Rulla en rad uppåt.
- Windows-läge:
Ctrl+PageUp
- Emacs-läge:
Ctrl+PageUp
ShowCommandHelp
Ger en vy över fullständig cmdlet-hjälp. När markören är i slutet av en fullständigt expanderad parameter placerar du <F1>
nyckeln och visar hjälp på platsen för parametern.
Hjälpen visas på en alternativ skärmbuffert med hjälp av en sidsökare från Microsoft.PowerShell.Pager. När du avslutar sidsökaren återgår du till den ursprungliga markörens position på den ursprungliga skärmen. Den här sidsökaren fungerar bara i moderna terminalprogram, till exempel Windows Terminal.
- Windows-läge:
F1
- Emacs-läge:
F1
- Vi-infogningsläge:
F1
- Vi-kommandoläge:
<F1>
ShowKeyBindings
Visa alla bundna nycklar.
- Windows-läge:
Ctrl+Alt+?
- Emacs-läge:
Ctrl+Alt+?
- Vi-infogningsläge:
Ctrl+Alt+?
ShowParameterHelp
Ger dynamisk hjälp för parametrar genom att visa den under den aktuella kommandoraden som MenuComplete
. Markören måste vara i slutet av det fullständigt expanderade parameternamnet när du trycker på tangenten <Alt+h>
.
- Windows-läge:
Alt+h
- Emacs-läge:
Alt+h
- Vi-infogningsläge:
Alt+h
- Vi-kommandoläge:
<Alt+h>
ViCommandMode
Växla det aktuella driftläget från Vi-Insert till Vi-Command.
- Vi-infogningsläge:
Escape
ViDigitArgumentInChord
Starta ett nytt sifferargument för att skicka till andra funktioner i ett av vi-ackorden.
- Funktionen är obundet.
ViEditVisually
Redigera kommandoraden i en textredigerare som anges av $env:EDITOR
eller $env:VISUAL
.
- Emacs-läge:
Ctrl+x,Ctrl+e
- Vi-kommandoläge:
<v>
ViExit
Avslutar gränssnittet.
- Funktionen är obundet.
ViInsertMode
Växla till Infogningsläge.
- Vi-kommandoläge:
<i>
WhatIsKey
Läs en nyckel och berätta vad nyckeln är bunden till.
- Windows-läge:
Alt+?
- Emacs-läge:
Alt+?
Förutsägelsefunktioner
AcceptNextSuggestionWord
Acceptera nästa ord i det infogade eller valda förslaget
- Funktionen är obundet.
AcceptSuggestion
När du använder InlineView
som visningsformat för förutsägelse godkänner du det aktuella infogade förslaget.
- Funktionen är obundet.
NextSuggestion
När du använder ListView
som visningsformat för förutsägelse går du till nästa förslag i listan.
- Funktionen är obundet.
PreviousSuggestion
När du använder ListView
som visningsformat för förutsägelse går du till föregående förslag i listan.
- Funktionen är obundet.
ShowFullPredictionTooltip
Visa knappbeskrivningen för det markerade listobjektet i den fullständiga vyn.
- Windows-läge:
F4
- Emacs-läge:
F4
- Vi-infogningsläge:
F4
SwitchPredictionView
Växla visningsformat för förutsägelse mellan InlineView
och ListView
.
- Windows-läge:
F2
- Emacs-läge:
F2
- Vi-infogningsläge:
F2
Sökfunktioner
CharacterSearch
Läs ett tecken och sök framåt efter nästa förekomst av det tecknet. Om ett argument anges söker du framåt (eller bakåt om det är negativt) efter den n:e förekomsten.
- Windows-läge:
F3
- Emacs-läge:
Ctrl+]
- Vi-infogningsläge:
F3
- Vi-kommandoläge:
<F3>
CharacterSearchBackward
Läs ett tecken och sök bakåt efter nästa förekomst av det tecknet. Om ett argument anges söker du bakåt (eller framåt om det är negativt) efter den n:e förekomsten.
- Windows-läge:
Shift+F3
- Emacs-läge:
Ctrl+Alt+]
- Vi-infogningsläge:
Shift+F3
- Vi-kommandoläge:
<Shift+F3>
RepeatLastCharSearch
Upprepa den senast inspelade teckensökningen.
- Vi-kommandoläge:
<;>
RepeatLastCharSearchBackwards
Upprepa den senaste inspelade teckensökningen, men i motsatt riktning.
- Vi-kommandoläge:
<,>
RepeatSearch
Upprepa den senaste sökningen i samma riktning som tidigare.
- Vi-kommandoläge:
<n>
RepeatSearchBackward
Upprepa den senaste sökningen i samma riktning som tidigare.
- Vi-kommandoläge:
<N>
Sökdiagram
Läs nästa tecken och leta reda på det framöver.
- Vi-kommandoläge:
<f>
SearchCharBackward
Läs nästa tecken och leta reda på det, gå bakåt.
- Vi-kommandoläge:
<F>
SearchCharBackwardWithBackoff
Läs nästa tecken och leta upp det, gå bakåt och backa sedan från ett tecken.
- Vi-kommandoläge:
<T>
SearchCharWithBackoff
Läs nästa tecken och leta upp det, framöver och backa sedan från ett tecken.
- Vi-kommandoläge:
<t>
SearchForward
Frågar efter en söksträng och initierar sökning på AcceptLine.
- Vi-kommandoläge:
<?>
Markeringsfunktioner
ExchangePointAndMark
Markören placeras på markeringens plats och markeringen flyttas till markörens plats.
- Emacs-läge:
Ctrl+x,Ctrl+x
VäljAlla
Välj hela raden.
- Windows-läge:
Ctrl+a
SelectBackwardChar
Justera den aktuella markeringen så att den innehåller föregående tecken.
- Windows-läge:
Shift+LeftArrow
- Emacs-läge:
Shift+LeftArrow
SelectBackwardsLine
Justera den aktuella markeringen så att den inkluderas från markören till början av raden.
- Windows-läge:
Shift+Home
- Emacs-läge:
Shift+Home
SelectBackwardWord
Justera den aktuella markeringen så att den innehåller föregående ord.
- Windows-läge:
Shift+Ctrl+LeftArrow
- Emacs-läge:
Alt+B
SelectCommandArgument
Gör ett visuellt val av kommandoargumenten. Val av argument omfångsbegränsas i ett skriptblock. Baserat på markörens position söker den från det innersta skriptblocket till det yttersta skriptblocket och stoppar när det hittar argument i ett skriptblocksomfång.
Den här funktionen hedrar DigitArgument. Den behandlar de positiva eller negativa argumentvärdena som framåt- eller bakåtförskjutningar från det markerade argumentet, eller från den aktuella markörens position när inget argument har valts.
- Windows-läge:
Alt+a
- Emacs-läge:
Alt+a
SelectForwardChar
Justera den aktuella markeringen så att den innehåller nästa tecken.
- Windows-läge:
Shift+RightArrow
- Emacs-läge:
Shift+RightArrow
SelectForwardWord
Justera den aktuella markeringen så att nästa ord inkluderas med hjälp av ForwardWord.
- Emacs-läge:
Alt+F
SelectLine
Justera den aktuella markeringen så att den inkluderas från markören till slutet av raden.
- Windows-läge:
Shift+End
- Emacs-läge:
Shift+End
SelectNextWord
Justera den aktuella markeringen så att den innehåller nästa ord.
- Windows-läge:
Shift+Ctrl+RightArrow
VäljShellBackwardWord
Justera den aktuella markeringen så att den innehåller föregående ord med ShellBackwardWord.
- Funktionen är obundet.
VäljShellForwardWord
Justera den aktuella markeringen så att nästa ord inkluderas med ShellForwardWord.
- Funktionen är obundet.
VäljShellNextWord
Justera den aktuella markeringen så att nästa ord inkluderas med ShellNextWord.
- Funktionen är obundet.
SetMark
Markera markörens aktuella plats för användning i ett efterföljande redigeringskommando.
- Emacs-läge:
Ctrl+@
API:er för anpassad nyckelbindning
Följande funktioner är offentliga i Microsoft.PowerShell.PSConsoleReadLine, men kan inte vara direkt bundna till en nyckel. De flesta är användbara i anpassade nyckelbindningar.
void AddToHistory(string command)
Lägg till en kommandorad i historiken utan att köra den.
void ClearKillRing()
Rensa kill-ringen. Detta används främst för testning.
void Delete(int start, int length)
Ta bort längdtecken från början. Den här åtgärden stöder ångra/göra om.
void Ding()
Utför Ding-åtgärden baserat på användarens önskemål.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Dessa två funktioner hämtar användbar information om indatabuffertens aktuella tillstånd. Den första används oftare för enkla fall. Den andra används om bindningen gör något mer avancerat med Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Dessa två funktioner används av Get-PSReadLineKeyHandler
. Den första används för att hämta alla nyckelbindningar. Den andra används för att hämta specifika nyckelbindningar.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Den här funktionen används av Get-PSReadLineOption och är förmodligen inte för användbar i en anpassad nyckelbindning.
void GetSelectionState([ref] int start, [ref] int length)
Om det inte finns något val på kommandoraden returnerar funktionen -1 i både start och längd. Om det finns ett val på kommandoraden returneras markeringens start och längd.
void Insert(char c)
void Insert(string s)
Infoga ett tecken eller en sträng vid markören. Den här åtgärden stöder ångra/göra om.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Det här är huvudinmatningspunkten till PSReadLine. Det stöder inte rekursion, så det är inte användbart i en anpassad nyckelbindning.
void RemoveKeyHandler(string[] key)
Den här funktionen används av Remove-PSReadLineKeyHandler och är förmodligen inte för användbar i en anpassad nyckelbindning.
void Replace(int start, int length, string replacement)
Ersätt några indata. Den här åtgärden stöder ångra/göra om. Detta rekommenderas framför Ta bort följt av Infoga eftersom det behandlas som en enda åtgärd för ångra.
void SetCursorPosition(int cursor)
Flytta markören till den angivna förskjutningen. Markörens rörelse spåras inte för ångra.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Den här funktionen är en hjälpmetod som används av cmdleten Set-PSReadLineOption
, men kan vara användbar för en anpassad nyckelbindning som tillfälligt vill ändra en inställning.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Den här hjälpmetoden används för anpassade bindningar som respekterar DigitArgument. Ett typiskt samtal ser ut som
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Kommentar
Beteende för OnIdle-händelsen
När PSReadLine används utlöses OnIdle-händelsen när
ReadKey()
tidsgränsen uppnås (ingen inmatning på 300 ms). Händelsen kan signaleras medan användaren är mitt i redigeringen av en kommandorad, till exempel läser användaren hjälp för att bestämma vilken parameter som ska användas.Från och med PSReadLine 2.2.0-beta4 ändrades OnIdle-beteendet för att signalera händelsen endast om det finns en
ReadKey()
timeout och den aktuella redigeringsbufferten är tom.