Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
PSReadLine poskytuje vylepšené prostředí pro úpravy příkazového řádku v konzole PowerShellu.
Dlouhý popis
PSReadLine 2.0 poskytuje výkonné prostředí pro úpravy příkazového řádku pro konzolu PowerShellu. Poskytuje:
- Obarvení syntaxe příkazového řádku
- Vizuální indikace chyb syntaxe
- Lepší víceřádkové prostředí (úpravy i historie)
- Přizpůsobitelné vazby klíčů
- Režimy Cmd a Emacs
- Mnoho možností konfigurace
- Dokončování stylu Bash (volitelné v režimu Cmd, výchozí nastavení v režimu Emacs)
- Emacs yank /kill-ring
- Přesun a odstranění textu založeného na tokenu PowerShellu
PSReadLine vyžaduje PowerShell 3.0 nebo novější. PSReadLine funguje s výchozím hostitelem konzoly, editorem Visual Studio Code a terminálem okna. V prostředí PowerShell ISE nefunguje.
PSReadLine 2.1.0 se dodává s PowerShellem 7.2 a podporuje se ve všech podporovaných verzích PowerShellu. Je k dispozici k instalaci z galerie Prostředí PowerShell. Pokud chcete nainstalovat PSReadLine 2.1.0 v podporované verzi PowerShellu, spusťte následující příkaz.
Install-Module -Name PSReadLine -RequiredVersion 2.1.0
Poznámka
Počínaje PowerShellem 7.0 PowerShell vynechá automatické načítání PSReadLine ve Windows, pokud je zjištěn program čtečky obrazovky. V současné době PSReadLine nefunguje dobře se čtečkami obrazovky. Výchozí vykreslování a formátování PowerShellu 7.0 ve Windows funguje správně. Modul můžete v případě potřeby načíst ručně.
Následující funkce jsou k dispozici ve třídě Microsoft.PowerShell.PSConsoleReadLine.
Základní funkce pro úpravy
Potratit
Přerušte aktuální akci, například vyhledávání přírůstkové historie.
- Emacs:
<Ctrl+g>
Akceptovat a získat další
Pokus o spuštění aktuálního vstupu Pokud se dá spustit (například AcceptLine), pak si při příštím zavolání ReadLine vzpomeňte na další položku z historie.
- Emacs:
<Ctrl+o>
AcceptLine
Pokus o spuštění aktuálního vstupu Pokud je aktuální vstup neúplný (například chybí pravá závorka, závorka nebo uvozovka), zobrazí se výzva k pokračování na dalším řádku a PSReadLine čeká, až klíče upraví aktuální vstup.
- Cmd:
<Enter> - Emacs:
<Enter> - Režim vložení Vi:
<Enter>
Přidat řádek
Výzva k pokračování se zobrazí na dalším řádku a PSReadLine čeká, až klíče upraví aktuální vstup. To je užitečné k zadání víceřádkového vstupu jako jediného příkazu, i když je jeden řádek úplný vstup sám.
- Cmd:
<Shift+Enter> - Emacs:
<Shift+Enter> - Režim vložení Vi:
<Shift+Enter> - Režim příkazu Vi:
<Shift+Enter>
Zpětná oddeleteChar
Odstraňte znak před kurzorem.
- Cmd:
<Backspace>,<Ctrl+h> - Emacs:
<Backspace>,<Ctrl+Backspace>,<Ctrl+h> - Režim vložení Vi:
<Backspace> - Režim příkazů Vi:
<X>,<d,h>
ZpětNásměrná spojnice
Like BackwardKillLine - odstraní text z bodu na začátek řádku, ale neuloží odstraněný text do kill-ringu.
- Cmd:
<Ctrl+Home> - Režim vkládání Vi:
<Ctrl+u>,<Ctrl+Home> - Režim příkazů Vi:
<Ctrl+u>,<Ctrl+Home>,<d,0>
Zpětná hodnotaWord
Odstraní předchozí slovo.
- Režim příkazů Vi:
<Ctrl+w>,<d,b>
BackwardKillLine
Vymažte vstup od začátku vstupu na kurzor. Vymazaný text se umístí do kruhu kill-ring.
- Emacs:
<Ctrl+u>,<Ctrl+x,Backspace>
BackwardKillWord
Vymažte vstup od začátku aktuálního slova na kurzor. Pokud je kurzor mezi slovy, vstup se vymaže od začátku předchozího slova k kurzoru. Vymazaný text se umístí do kruhu kill-ring.
- Cmd:
<Ctrl+Backspace>,<Ctrl+w> - Emacs:
<Alt+Backspace>,<Escape,Backspace> - Režim vložení Vi:
<Ctrl+Backspace> - Režim příkazu Vi:
<Ctrl+Backspace>
CancelLine
Zrušte aktuální vstup a ponechte vstup na obrazovce, ale vrátí se zpět k hostiteli, aby se výzva vyhodnotila znovu.
- Režim vložení Vi:
<Ctrl+c> - Režim příkazu Vi:
<Ctrl+c>
Kopírovat
Zkopírujte vybranou oblast do schránky systému. Pokud není vybrána žádná oblast, zkopírujte celý řádek.
- Cmd:
<Ctrl+C>
Řádek CopyOrCancelLine
Pokud je text vybraný, zkopírujte ho do schránky, jinak řádek zrušte.
- Cmd:
<Ctrl+c> - Emacs:
<Ctrl+c>
Řezat
Umožňuje odstranit vybranou oblast, která umístí odstraněný text do systémové schránky.
- Cmd:
<Ctrl+x>
OdstranitZnak
Odstraňte znak pod kurzorem.
- Cmd:
<Delete> - Emacs:
<Delete> - Režim vložení Vi:
<Delete> - Režim příkazů Vi:
<Delete>,<x>,<d,l>,<d,Spacebar>
OdstranitCharOrExit
Odstraňte znak pod kurzorem nebo pokud je řádek prázdný, ukončete proces.
- Emacs:
<Ctrl+d>
DeleteEndOfBuffer
Odstraní se na konec víceřádkové vyrovnávací paměti.
- Režim příkazu Vi:
<d,G>
SmazatKonecSlova
Odstraňte na konec slova.
- Režim příkazu Vi:
<d,e>
OdstranitŘádek
Odstraní aktuální logickou čáru víceřádkové vyrovnávací paměti a povolí vrácení zpět.
- Režim příkazů Vi:
<d,d>,<d,_>
DeletePreviousLines
Odstraní předchozí požadované logické řádky a aktuální logický řádek ve víceřádkové vyrovnávací paměti.
- Režim příkazu Vi:
<d,k>
DeleteRelativeLines
Odstraní od začátku vyrovnávací paměti na aktuální logický řádek ve víceřádkové vyrovnávací paměti.
Stejně jako u většiny příkazů Vi lze příkaz <d,g,g> předcházet číselným argumentem, který určuje absolutní číslo řádku, které společně s aktuálním číslem řádku tvoří rozsah řádků, které se mají odstranit.
Pokud není zadaný, číselný argument je ve výchozím nastavení 1, který odkazuje na první logický řádek ve víceřádkové vyrovnávací paměti.
Skutečný počet řádků, které se mají odstranit z víceřádkového řádku, se vypočítá jako rozdíl mezi aktuálním číslem logického řádku a zadaným číselným argumentem, což může být záporné. Proto relativní část názvu metody.
- Režim příkazu Vi:
<d,g,g>
DeleteNextLines
Odstraní aktuální logický řádek a další požadované logické řádky ve víceřádkové vyrovnávací paměti.
- Režim příkazu Vi:
<d,j>
DeleteLineToFirstChar
Odstraní text z kurzoru na první neprázdný znak řádku.
- Režim příkazu Vi:
<d,^>
OdstranitToEnd
Odstraňte na konec řádku.
- Režim příkazů Vi:
<D>,<d,$>
SmazatSlovo
Odstraňte další slovo.
- Režim příkazu Vi:
<d,w>
ForwardDeleteLine
Podobně jako ForwardKillLine - odstraní text z bodu na konec řádku, ale neuloží odstraněný text do kill-ringu.
- Cmd:
<Ctrl+End> - Režim vložení Vi:
<Ctrl+End> - Režim příkazu Vi:
<Ctrl+End>
InsertLineAbove
Nový prázdný řádek se vytvoří nad aktuálním řádkem bez ohledu na to, kde je kurzor na aktuálním řádku. Kurzor se přesune na začátek nového řádku.
- Cmd:
<Ctrl+Enter>
InsertLineBelow
Nový prázdný řádek se vytvoří pod aktuálním řádkem bez ohledu na to, kde je kurzor na aktuálním řádku. Kurzor se přesune na začátek nového řádku.
- Cmd:
<Shift+Ctrl+Enter>
Invertcase
Invertujte případ aktuálního znaku a přejděte na další.
- Režim příkazu Vi:
<~>
Vražedná linie
Vymažte vstup od kurzoru na konec vstupu. Vymazaný text se umístí do kruhu kill-ring.
- Emacs:
<Ctrl+k>
KillRegion
Ukončete text mezi kurzorem a značkou.
- Funkce je nevázaná.
Zabít Slovo
Vymažte vstup od kurzoru na konec aktuálního slova. Pokud je kurzor mezi slovy, vstup se vymaže z kurzoru na konec dalšího slova. Vymazaný text se umístí do kruhu kill-ring.
- Cmd:
<Alt+d>,<Ctrl+Delete> - Emacs:
<Alt+d>,<Escape,d> - Režim vložení Vi:
<Ctrl+Delete> - Režim příkazu Vi:
<Ctrl+Delete>
Pasta
Vložte text ze schránky systému.
- Cmd:
<Ctrl+v>,<Shift+Insert> - Režim vložení Vi:
<Ctrl+v> - Režim příkazu Vi:
<Ctrl+v>
Důležitý
Při použití funkce Vložit se celý obsah vyrovnávací paměti schránky vloží do vstupní vyrovnávací paměti PSReadLine. Vstupní vyrovnávací paměť se pak předá analyzátoru PowerShellu. Vstup vložený pomocí konzolové aplikace se po kliknutí pravým tlačítkem myši metoda vložení zkopíruje do vstupní vyrovnávací paměti jeden znak najednou. Vstupní vyrovnávací paměť se předá analyzátoru při zkopírování znaku nového řádku. Proto je vstup analyzován po jednom řádku najednou. Rozdíl mezi metodami vložení vede k odlišnému chování při provádění.
Vložit po
Vložte schránku za kurzor a přesuňte kurzor na konec vloženého textu.
- Režim příkazu Vi:
<p>
VložitPřed
Vložte schránku před kurzor a přesuňte kurzor na konec vloženého textu.
- Režim příkazu Vi:
<P>
Předřadit a přijmout
Předpřisadíte ho a přijmete řádek.
- Režim příkazu Vi:
<#>
Předělat
Vrátí zpět vrácení zpět.
- Cmd:
<Ctrl+y> - Režim vložení Vi:
<Ctrl+y> - Režim příkazu Vi:
<Ctrl+y>
Příkaz RepeatLastCommand
Opakujte poslední úpravu textu.
- Režim příkazu Vi:
<.>
Zpětná spojnice
Vrátí všechny vstupy na aktuální vstup.
- Cmd:
<Escape> - Emacs:
<Alt+r>,<Escape,r>
ShellBackwardKillWord
Vymažte vstup od začátku aktuálního slova na kurzor. Pokud je kurzor mezi slovy, vstup se vymaže od začátku předchozího slova k kurzoru. Vymazaný text se umístí do kruhu kill-ring.
Funkce je nevázaná.
ShellKillWord
Vymažte vstup od kurzoru na konec aktuálního slova. Pokud je kurzor mezi slovy, vstup se vymaže z kurzoru na konec dalšího slova. Vymazaný text se umístí do kruhu kill-ring.
Funkce je nevázaná.
Záměna znaků
Prohodí aktuální znak a ten před ním.
- Emacs:
<Ctrl+t> - Režim vložení Vi:
<Ctrl+t> - Režim příkazu Vi:
<Ctrl+t>
Odčinit
Vrátí zpět předchozí úpravy.
- Cmd:
<Ctrl+z> - Emacs:
<Ctrl+_>,<Ctrl+x,Ctrl+u> - Režim vložení Vi:
<Ctrl+z> - Režim příkazů Vi:
<Ctrl+z>,<u>
Zpět– vše
Vrátí zpět všechny předchozí úpravy řádku.
- Režim příkazu Vi:
<U>
UnixWordRubout
Vymažte vstup od začátku aktuálního slova na kurzor. Pokud je kurzor mezi slovy, vstup se vymaže od začátku předchozího slova k kurzoru. Vymazaný text se umístí do kruhu kill-ring.
- Emacs:
<Ctrl+w>
ValidateAndAcceptLine
Pokus o spuštění aktuálního vstupu Pokud je aktuální vstup neúplný (například chybí pravá závorka, závorka nebo uvozovka), zobrazí se výzva k pokračování na dalším řádku a PSReadLine čeká, až klíče upraví aktuální vstup.
- Emacs:
<Ctrl+m>
ViAcceptLine
Přijměte čáru a přepněte do režimu vložení.
- Režim příkazu Vi:
<Enter>
ViAcceptLineOrExit
Stejně jako DeleteCharOrExit v režimu Emacs, ale přijímá řádek místo odstranění znaku.
- Režim vložení Vi:
<Ctrl+d> - Režim příkazu Vi:
<Ctrl+d>
ViAppendLine
Nový řádek se vloží pod aktuální řádek.
- Režim příkazu Vi:
<o>
ViBackwardDeleteGlob
Odstraní předchozí slovo, které jako oddělovač slov používá pouze prázdné znaky.
- Režim příkazu Vi:
<d,B>
ViBackwardGlob
Přesune kurzor zpět na začátek předchozího slova a použije pouze prázdné znaky jako oddělovače.
- Režim příkazu Vi:
<B>
ViDeleteBrace
Vyhledejte odpovídající složenou závorku, závorku nebo hranaté závorky a odstraňte veškerý obsah včetně závorky.
- Režim příkazu Vi:
<d,%>
ViDeleteEndOfGlob
Odstraňte na konec slova.
- Režim příkazu Vi:
<d,E>
ViDeleteGlob řekl:
Odstraňte další glob (prázdné znaky oddělené slovo).
- Režim příkazu Vi:
<d,W>
ViDeleteToBeforeChar
Odstraní se do zadaného znaku.
- Režim příkazu Vi:
<d,t>
ViDeleteToBeforeCharBackward
Odstraní se do zadaného znaku.
- Režim příkazu Vi:
<d,T>
ViDeleteToChar
Odstraní se do zadaného znaku.
- Režim příkazu Vi:
<d,f>
ViDeleteToCharBackward
Odstraní zpět, dokud daný znak neodstraní.
- Režim příkazu Vi:
<d,F>
ViInsertAtBegining
Přepněte do režimu Vložení a umístěte kurzor na začátek řádku.
- Režim příkazu Vi:
<I>
ViInsertAtEnd
Přepněte do režimu Vložení a umístěte kurzor na konec řádku.
- Režim příkazu Vi:
<A>
ViInsertLine
Nový řádek se vloží nad aktuální řádek.
- Režim příkazu Vi:
<O>
ViInsertWithAppend
Připojte z aktuální pozice řádku.
- Režim příkazu Vi:
<a>
ViInsertWithDelete
Odstraňte aktuální znak a přepněte do režimu vložení.
- Režim příkazu Vi:
<s>
ViJoinLines
Spojí aktuální řádek a další řádek.
- Režim příkazu Vi:
<J>
ViReplaceLine
Vymažte celý příkazový řádek.
- Režim příkazů Vi:
<S>,<c,c>
ViReplaceToBeforeChar
Nahradí, dokud se daný znak nenahradí.
- Režim příkazu Vi:
<c,t>
ViReplaceToBeforeCharBackward
Nahradí, dokud se daný znak nenahradí.
- Režim příkazu Vi:
<c,T>
ViReplaceToChar
Odstraní se do zadaného znaku.
- Režim příkazu Vi:
<c,f>
ViReplaceToCharBackward
Nahradí, dokud se daný znak nenahradí.
- Režim příkazu Vi:
<c,F>
ViYankBeginningOfLine
Yank od začátku vyrovnávací paměti na kurzor.
- Režim příkazu Vi:
<y,0>
ViYankEndOfGlob řekl:
Od kurzoru se přesune na konec wordových slov.
- Režim příkazu Vi:
<y,E>
ViYankEndOfWord
Z kurzoru na konec slova
- Režim příkazu Vi:
<y,e>
ViYankLeft
Znaky yank vlevo od kurzoru.
- Režim příkazu Vi:
<y,h>
ViYankLine
Vytáhnou celou vyrovnávací paměť.
- Režim příkazu Vi:
<y,y>
ViYankNextGlob řekl:
Od kurzoru přejděte na začátek dalších slov.
- Režim příkazu Vi:
<y,W>
ViYankNextWord
Po kurzoru zaríňte slova.
- Režim příkazu Vi:
<y,w>
ViYankPercent
Yank to/from odpovídající složené závorky.
- Režim příkazu Vi:
<y,%>
ViYankPreviousGlob
Od začátku wordu k kurzoru.
- Režim příkazu Vi:
<y,B>
ViYankPředchozíSlovo
Zamkni slova před kurzorem.
- Režim příkazu Vi:
<y,b>
ViYankRight
Znaky yank pod a vpravo od kurzoru.
- Režim příkazů Vi:
<y,l>,<y,Spacebar>
ViYankToEndOfLine
Od kurzoru na konec vyrovnávací paměti.
- Režim příkazu Vi:
<y,$>
ViYankToFirstChar
Od prvního znaku, který není prázdný, se přesune kurzor.
- Režim příkazu Vi:
<y,^>
Trhnout
Přidejte do vstupu naposledy zabitý text.
- Emacs:
<Ctrl+y>
YankLastArg řekl:
Vyžádřete poslední argument z předchozího řádku historie. Při prvním vyvolání argumentu se chová stejně jako YankNthArg. Pokud se vyvolá vícekrát, místo toho iteruje prostřednictvím historie a arg nastaví směr (negativní obrátí směr.)
- Cmd:
<Alt+.> - Emacs:
<Alt+.>,<Alt+_>,<Escape,.>,<Escape,_>
YankNthArg
Vyžádřete první argument (za příkazem) z předchozího řádku historie. Pokud je argument záporný, začněte od posledního argumentu.
- Emacs:
<Ctrl+Alt+y>,<Escape,Ctrl+y>
YankPop
Pokud byla předchozí operace Yank nebo YankPop, nahraďte dříve vysekaný text dalším zabitým textem z okruhu kill-ring.
- Emacs:
<Alt+y>,<Escape,y>
Funkce pohybu kurzoru
Zpětná znaména
Přesunutí kurzoru o jeden znak doleva Tím se může přesunout kurzor na předchozí řádek víceřádkového vstupu.
- Cmd:
<LeftArrow> - Emacs:
<LeftArrow>,<Ctrl+b> - Režim vložení Vi:
<LeftArrow> - Režim příkazů Vi:
<LeftArrow>,<Backspace>,<h>
Zpětná slova
Přesuňte kurzor zpět na začátek aktuálního slova nebo mezi slovy na začátek předchozího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Cmd:
<Ctrl+LeftArrow> - Emacs:
<Alt+b>,<Escape,b> - Režim vložení Vi:
<Ctrl+LeftArrow> - Režim příkazu Vi:
<Ctrl+LeftArrow>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
ZačátekOfLine
Pokud má vstup více řádků, přejděte na začátek aktuálního řádku nebo pokud je již na začátku řádku, přejděte na začátek vstupu. Pokud má vstup jeden řádek, přejděte na začátek vstupu.
- Cmd:
<Home> - Emacs:
<Home>,<Ctrl+a> - Režim vložení Vi:
<Home> - Režim příkazu Vi:
<Home>
Konec řádku
Pokud má vstup více řádků, přesuňte se na konec aktuálního řádku nebo pokud je již na konci řádku, přejděte na konec vstupu. Pokud má vstup jeden řádek, přejděte na konec vstupu.
- Cmd:
<End> - Emacs:
<End>,<Ctrl+e> - Režim vložení Vi:
<End>
ForwardChar
Přesunutí kurzoru o jeden znak doprava Kurzor se může přesunout na další řádek víceřádkového vstupu.
- Cmd:
<RightArrow> - Emacs:
<RightArrow>,<Ctrl+f> - Režim vložení Vi:
<RightArrow> - Režim příkazů Vi:
<RightArrow>,<Space>,<l>
Funkce ForwardWord
Přesuňte kurzor dopředu na konec aktuálního slova nebo mezi slovy na konec dalšího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Emacs:
<Alt+f>,<Escape,f>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
Přepínač GotoBrace
Přejděte na odpovídající složenou závorku, závorku nebo hranaté závorky.
- Cmd:
<Ctrl+]> - Režim vložení Vi:
<Ctrl+]> - Režim příkazu Vi:
<Ctrl+]>
Přejít na sloupec
Přechod na sloupec označený arg.
- Režim příkazu Vi:
<|>
GotoFirstNonBlankOfLine
Přesuňte kurzor na první neprázdný znak na řádku.
- Režim příkazů Vi:
<^>,<_>
MoveToEndOfLine
Přesuňte kurzor na konec vstupu.
- Režim příkazů Vi:
<End>,<$>
Další řádek
Přesuňte kurzor na další řádek.
- Funkce je nevázaná.
DalšíSlovo
Přesuňte kurzor dopředu na začátek dalšího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Cmd:
<Ctrl+RightArrow> - Režim vložení Vi:
<Ctrl+RightArrow> - Režim příkazu Vi:
<Ctrl+RightArrow>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
dalšíWordEnd
Přesuňte kurzor dopředu na konec aktuálního slova nebo mezi slovy na konec dalšího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Režim příkazu Vi:
<e>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
Předchozí řádek
Přesunutí kurzoru na předchozí řádek
- Funkce je nevázaná.
ShellBackwardWord
Přesuňte kurzor zpět na začátek aktuálního slova nebo mezi slovy na začátek předchozího slova. Hranice wordu jsou definovány pomocí tokenů PowerShellu.
- Funkce je nevázaná.
ShellForwardWord
Přesuňte kurzor dopředu na začátek dalšího slova. Hranice wordu jsou definovány pomocí tokenů PowerShellu.
- Funkce je nevázaná.
ShellNextWord
Přesuňte kurzor dopředu na konec aktuálního slova nebo mezi slovy na konec dalšího slova. Hranice wordu jsou definovány pomocí tokenů PowerShellu.
- Funkce je nevázaná.
ViBackwardChar
Přesunutí kurzoru o jeden znak doleva v režimu úprav Vi Tím se může přesunout kurzor na předchozí řádek víceřádkového vstupu.
- Režim vložení Vi:
<LeftArrow> - Režim příkazů Vi:
<LeftArrow>,<Backspace>,<h>
ViBackwardWord
Přesuňte kurzor zpět na začátek aktuálního slova nebo mezi slovy na začátek předchozího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Režim příkazu Vi:
<b>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
ViForwardChar
Přesunutí kurzoru o jeden znak doprava v režimu úprav Vi Kurzor se může přesunout na další řádek víceřádkového vstupu.
- Režim vložení Vi:
<RightArrow> - Režim příkazů Vi:
<RightArrow>,<Spacebar>,<l>
ViEndOfGlob řekl:
Přesune kurzor na konec slova pomocí prázdných znaků jako oddělovačů.
- Režim příkazu Vi:
<E>
ViEndOfPreviousGlob
Přesune se na konec předchozího slova a použije jako oddělovač slov pouze prázdné znaky.
- Funkce je nevázaná.
ViGotoBrace
Podobá se GotoBrace, ale je založen na znaku místo tokenu.
- Režim příkazu Vi:
<%>
ViNextGlob řekl:
Přesune se na další slovo a jako oddělovač slov použije jenom prázdné znaky.
- Režim příkazu Vi:
<W>
ViNextWord
Přesuňte kurzor dopředu na začátek dalšího slova. Hranice aplikace Word jsou definovány konfigurovatelnou sadou znaků.
- Režim příkazu Vi:
<w>
Znaky definující hranice slova jsou nakonfigurovány v WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Pokud chcete zobrazit nebo změnit vlastnost WordDelimiters, podívejte se na Get-PSReadLineOption a Set-PSReadLineOption.
Funkce historie
ZačátekOfHistory
Přechod na první položku v historii
- Emacs:
<Alt+<>
ClearHistory
Vymaže historii v PSReadLine. To nemá vliv na historii PowerShellu.
- Cmd:
<Alt+F7>
Konec historie
Přechod na poslední položku (aktuální vstup) v historii
- Emacs:
<Alt+>>
ForwardSearchHistory
Proveďte přírůstkové hledání v historii.
- Cmd:
<Ctrl+s> - Emacs:
<Ctrl+s>
HistorieSearchBackward
Nahraďte aktuální vstup předchozí položkou z historie PSReadLine, která odpovídá znakům mezi začátkem a vstupem a kurzorem.
- Cmd:
<F8>
HistorySearchForward
Nahraďte aktuální vstup další položkou z historie PSReadLine, která odpovídá znakům mezi začátkem a vstupem a kurzorem.
- Cmd:
<Shift+F8>
dalšíHistorie
Nahraďte aktuální vstup další položkou z historie PSReadLine.
- Cmd:
<DownArrow> - Emacs:
<DownArrow>,<Ctrl+n> - Režim vložení Vi:
<DownArrow> - Režim příkazů Vi:
<DownArrow>,<j>,<+>
PředchozíHistory
Nahraďte aktuální vstup předchozí položkou z historie PSReadLine.
- Cmd:
<UpArrow> - Emacs:
<UpArrow>,<Ctrl+p> - Režim vložení Vi:
<UpArrow> - Režim příkazů Vi:
<UpArrow>,<k>,<->
Historie reverzního vyhledávání
Proveďte přírůstkové zpětné vyhledávání v historii.
- Cmd:
<Ctrl+r> - Emacs:
<Ctrl+r>
ViSearchHistoryBackward
Vyzve k zadání hledaného řetězce a zahájí hledání na AcceptLine.
- Režim vložení Vi:
<Ctrl+r> - Režim příkazů Vi:
</>,<Ctrl+r>
Funkce dokončování
Kompletní
Pokus o dokončení textu kolem kurzoru Pokud existuje více možných dokončení, použije se k dokončení nejdelší jednoznačná předpona. Pokud se pokoušíte dokončit nejdelší jednoznačné dokončení, zobrazí se seznam možných dokončení.
- Emacs:
<Tab>
NabídkaComplete
Pokus o dokončení textu kolem kurzoru Pokud existuje více možných dokončení, použije se k dokončení nejdelší jednoznačná předpona. Pokud se pokoušíte dokončit nejdelší jednoznačné dokončení, zobrazí se seznam možných dokončení.
- Cmd:
<Ctrl+@>,<Ctrl+Spacebar> - Emacs:
<Ctrl+Spacebar>
Možné dokončení
Zobrazí seznam možných dokončení.
- Emacs:
<Alt+=> - Režim vložení Vi:
<Ctrl+Spacebar> - Režim příkazu Vi:
<Ctrl+Spacebar>
TabCompleteNext
Pokuste se dokončit text kolem kurzoru dalším dostupným dokončením.
- Cmd:
<Tab> - Režim příkazu Vi:
<Tab>
TabCompletePrevious
Pokus o dokončení textu kolem kurzoru s předchozím dostupným dokončením
- Cmd:
<Shift+Tab> - Režim příkazu Vi:
<Shift+Tab>
ViTabCompleteNext
V případě potřeby ukončí aktuální skupinu úprav a vyvolá TabCompleteNext.
- Režim vložení Vi:
<Tab>
ViTabCompletePrevious
V případě potřeby ukončí aktuální skupinu úprav a vyvolá tabCompletePrevious.
- Režim vložení Vi:
<Shift+Tab>
Různé funkce
PřijmoutDalšíNávrhSlovo
Přijměte další slovo vloženého nebo vybraného návrhu.
- Funkce je nevázaná.
PřijmoutNávrh
Přijměte aktuální vložený nebo vybraný návrh.
- Funkce je nevázaná.
CaptureScreen
Spustit interaktivní snímek obrazovky – šipky nahoru/dolů vyberou čáry, jako text a HTML zkopíruje vybraný text do schránky.
- Funkce je nevázaná.
Vyčistit obrazovku
Vymažte obrazovku a nakreslete aktuální čáru v horní části obrazovky.
- Cmd:
<Ctrl+l> - Emacs:
<Ctrl+l> - Režim vložení Vi:
<Ctrl+l> - Režim příkazu Vi:
<Ctrl+l>
Číselný argument
Spusťte nový argument číslice, který se má předat jiným funkcím. Tuto funkci můžete použít jako násobitel pro další funkci, která je vyvolána klávesovou zkratkou. Například stisknutí <Alt+1><Alt+0> nastaví číslicový argument hodnotu na 10. Potom stisknutím klávesy # na vstupní řádek odešlete 10 # znaků (##########).
Podobně to můžete použít s jinými operacemi, jako jsou <Delete> nebo Left-Arrow.
- Cmd:
<Alt+0>, , ,<Alt+1><Alt+2>, ,<Alt+3><Alt+4><Alt+5><Alt+6><Alt+7><Alt+8><Alt+9><Alt+-> - Emacs: , , , ,
<Alt+0><Alt+1><Alt+2><Alt+3><Alt+4><Alt+5><Alt+6><Alt+7><Alt+8><Alt+9><Alt+-> - Režim příkazů Vi:
<0>,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>
Výzva vyvolání
Vymaže aktuální výzvu a zavolá funkci výzvy k opětovnému zobrazení výzvy. Užitečné pro obslužné rutiny vlastních klíčů, které mění stav. Můžete například změnit aktuální adresář.
- Funkce je nevázaná.
ScrollDisplayDown
Posuňte zobrazení o jednu obrazovku dolů.
- Cmd:
<PageDown> - Emacs:
<PageDown>
ScrollDisplayDownLine
Posuňte zobrazení o jeden řádek dolů.
- Cmd:
<Ctrl+PageDown> - Emacs:
<Ctrl+PageDown>
ScrollDisplayToCursor
Posuňte zobrazení na kurzor.
- Emacs:
<Ctrl+End>
ScrollDisplayTop
Posuňte zobrazení na začátek.
- Emacs:
<Ctrl+Home>
ScrollDisplayUp
Posuňte zobrazení o jednu obrazovku nahoru.
- Cmd:
<PageUp> - Emacs:
<PageUp>
ScrollDisplayUpLine
Posuňte zobrazení o jeden řádek nahoru.
- Cmd:
<Ctrl+PageUp> - Emacs:
<Ctrl+PageUp>
Vložení vlastního vložení
Vložte klíč.
- Funkce je nevázaná.
ZobrazitKlíčové vazby
Zobrazí všechny vázané klíče.
- Cmd:
<Ctrl+Alt+?> - Emacs:
<Ctrl+Alt+?> - Režim vložení Vi:
<Ctrl+Alt+?>
ViCommandMode
Přepněte aktuální provozní režim z Vi-Insert na Vi-Command.
- Režim vložení Vi:
<Escape>
ViDigitArgumentInChord
Spusťte nový argument číslice, který se má předat jiným funkcím, zatímco v jednom z vi's chords.
- Funkce je nevázaná.
ViEditVizuálně
Upravte příkazový řádek v textovém editoru určeném $env:EDITOR nebo $env:VISUAL.
- Emacs:
<Ctrl+x,Ctrl+e> - Režim příkazu Vi:
<v>
ViExit
Ukončí prostředí.
- Funkce je nevázaná.
ViInsertMode
Přepněte do režimu vložení.
- Režim příkazu Vi:
<i>
Co je klíč
Přečtěte si klíč a řekněte mi, k čemu je klíč vázán.
- Cmd:
<Alt+?> - Emacs:
<Alt+?>
Výběrové funkce
ExchangePointAndMark
Kurzor se umístí na místo značky a značka se přesune do umístění kurzoru.
- Emacs:
<Ctrl+x,Ctrl+x>
Vybrat vše
Vyberte celý řádek.
- Cmd:
<Ctrl+a>
SelectBackwardChar
Upravte aktuální výběr tak, aby zahrnoval předchozí znak.
- Cmd:
<Shift+LeftArrow> - Emacs:
<Shift+LeftArrow>
SelectBackwardsLine
Upravte aktuální výběr tak, aby zahrnoval kurzor na začátek řádku.
- Cmd:
<Shift+Home> - Emacs:
<Shift+Home>
SelectBackwardWord
Upravte aktuální výběr tak, aby zahrnoval předchozí slovo.
- Cmd:
<Shift+Ctrl+LeftArrow> - Emacs:
<Alt+B>
Vybrat ForwardChar
Upravte aktuální výběr tak, aby zahrnoval další znak.
- Cmd:
<Shift+RightArrow> - Emacs:
<Shift+RightArrow>
VybratForwardWord
Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí příkazu ForwardWord.
- Emacs:
<Alt+F>
Volba SelectLine
Upravte aktuální výběr tak, aby zahrnoval kurzor na konec řádku.
- Cmd:
<Shift+End> - Emacs:
<Shift+End>
VybratDalšíSlovo
Upravte aktuální výběr tak, aby zahrnoval další slovo.
- Cmd:
<Shift+Ctrl+RightArrow>
SelectShellBackwardWord
Upravte aktuální výběr tak, aby zahrnoval předchozí slovo pomocí ShellBackwardWord.
- Funkce je nevázaná.
VybratShellForwardWord
Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellForwardWord.
- Funkce je nevázaná.
VybratShellNextWord
Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellNextWord.
- Funkce je nevázaná.
Značka SetMark
Označte aktuální umístění kurzoru pro použití v dalším příkazu pro úpravy.
- Emacs:
<Ctrl+@>
Prediktivní funkce IntelliSense
Poznámka
Aby bylo možné tyto funkce používat, musí být povolená prediktivní technologie IntelliSense.
PřijmoutNávrh dalšího slova
Přijme další slovo vloženého návrhu z prediktivní technologie IntelliSense. Tuto funkci lze svázat s klávesou Ctrl+F spuštěním následujícího příkazu.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
PřijmoutNávrh
Přijme aktuální vložený návrh z prediktivní technologie IntelliSense stisknutím klávesy Šipka vpravo , když je kurzor na konci aktuálního řádku.
Vyhledávací funkce
Vyhledávání znaků
Přečtěte si znak a vyhledejte další výskyt tohoto znaku. Pokud je zadaný argument, vyhledejte n-tý výskyt dopředu (nebo dozadu, pokud je záporný).
- Cmd:
<F3> - Emacs:
<Ctrl+]> - Režim vložení Vi:
<F3> - Režim příkazu Vi:
<F3>
ZnakyVyhledáváníDozadu
Přečtěte si znak a vyhledejte další výskyt tohoto znaku zpět. Pokud je zadán argument, vyhledejte n-tý výskyt dozadu (nebo dopředu, pokud je záporný).
- Cmd:
<Shift+F3> - Emacs:
<Ctrl+Alt+]> - Režim vložení Vi:
<Shift+F3> - Režim příkazu Vi:
<Shift+F3>
OpakovatLastCharSearch
Opakujte poslední zaznamenané hledání znaků.
- Režim příkazu Vi:
<;>
RepeatLastCharSearchBackwards
Opakujte poslední zaznamenané hledání znaků, ale v opačném směru.
- Režim příkazu Vi:
<,>
OpakovatHledat
Opakujte poslední hledání ve stejném směru jako předtím.
- Režim příkazu Vi:
<n>
RepeatSearchBackward – Opakovat vyhledávání
Opakujte poslední hledání ve stejném směru jako předtím.
- Režim příkazu Vi:
<N>
Znak vyhledávání
Přečtěte si další znak a pak ho najděte, přejdete dopředu a pak se vrátíte k nějakému znaku. Toto je pro funkci "t".
- Režim příkazu Vi:
<f>
HledatZnakZpět
Přečtěte si další znak a pak ho najděte, vraťte se zpět a pak zpět od znaku. Toto je funkce T.
- Režim příkazu Vi:
<F>
SearchCharBackwardWithBackoff
Přečtěte si další znak a pak ho najděte, vraťte se zpět a pak zpět od znaku. Toto je funkce T.
- Režim příkazu Vi:
<T>
SearchCharWithBackoff
Přečtěte si další znak a pak ho najděte, přejdete dopředu a pak se vrátíte k nějakému znaku. Toto je pro funkci "t".
- Režim příkazu Vi:
<t>
Vyhledávání vpřed
Vyzve k zadání hledaného řetězce a zahájí hledání na AcceptLine.
- Režim vložení Vi:
<Ctrl+s> - Režim příkazů Vi:
<?>,<Ctrl+s>
Vlastní vazby klíčů
PSReadLine podporuje vlastní vazby kláves pomocí rutiny Set-PSReadLineKeyHandler. Většina vazeb vlastních klíčů volá jednu z výše uvedených funkcí, například
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
SkriptBlock můžete svázat s klíčem. ScriptBlock může udělat prakticky cokoli, co chcete. Mezi užitečné příklady patří:
- úprava příkazového řádku
- otevření nového okna (například nápověda)
- změna adresářů beze změny příkazového řádku
ScriptBlock přijímá dva argumenty:
$key– objekt [ConsoleKeyInfo], který je klíčem, který aktivoval vlastní vazbu. Pokud svážete stejný ScriptBlock s více klíči a potřebujete provádět různé akce v závislosti na klíči, můžete zkontrolovat $key. Mnoho vlastních vazeb tento argument ignoruje.$arg– libovolný argument. Nejčastěji se jedná o celočíselný argument, který uživatel předává z vazeb klíčů DigitArgument. Pokud vazba nepřijímá argumenty, je vhodné tento argument ignorovat.
Podívejme se na příklad, který přidá příkazový řádek do historie bez jeho spuštění. To je užitečné, když zjistíte, že jste něco zapomněli udělat, ale nechcete znovu zadat příkazový řádek, který jste už zadali.
$parameters = @{
Key = 'Alt+w'
BriefDescription = 'SaveInHistory'
LongDescription = 'Save current line in history but do not execute'
ScriptBlock = {
param($key, $arg) # The arguments are ignored in this example
# GetBufferState gives us the command line (with the cursor position)
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line,
[ref]$cursor)
# AddToHistory saves the line in history, but does not execute it.
[Microsoft.PowerShell.PSConsoleReadLine]::AddToHistory($line)
# RevertLine is like pressing Escape.
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
}
}
Set-PSReadLineKeyHandler @parameters
Mnoho dalších příkladů můžete vidět v souboru SamplePSReadLineProfile.ps1 , který je nainstalován ve složce modulu PSReadLine.
Většina klíčových vazeb používá některé pomocné funkce pro úpravu příkazového řádku. Tato rozhraní API jsou zdokumentovaná v další části.
Rozhraní API pro podporu vlastních vazeb klíčů
Následující funkce jsou veřejné v Microsoft.PowerShell.PSConsoleReadLine, ale nelze je přímo svázat s klíčem. Nejužitečnější jsou ve vlastních vazbách klíčů.
void AddToHistory(string command)
Přidejte příkazový řádek do historie bez jeho spuštění.
void ClearKillRing()
Vyčiste ten kill-ring. Nejčastěji se používá k testování.
void Delete(int start, int length)
Odstraňte od začátku znaky délky. Tato operace podporuje vrácení zpět/znovu.
void Ding()
Proveďte akci Ding na základě předvoleb uživatelů.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Tyto dvě funkce načítají užitečné informace o aktuálním stavu vstupní vyrovnávací paměti. První se častěji používá pro jednoduché případy. Druhá se použije, pokud vaše vazba provádí něco pokročilejšího s ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Tyto dvě funkce používají Get-PSReadLineKeyHandler. První se používá k získání všech klíčových vazeb. Druhá se používá k získání konkrétních klíčových vazeb.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Tuto funkci používá Get-PSReadLineOption a pravděpodobně není příliš užitečná ve vlastní vazbě klíče.
void GetSelectionState([ref] int start, [ref] int length)
Pokud na příkazovém řádku není žádný výběr, funkce vrátí -1 na začátku i v délce. Pokud je na příkazovém řádku výběr, vrátí se začátek a délka výběru.
void Insert(char c)
void Insert(string s)
Na kurzor vložte znak nebo řetězec. Tato operace podporuje vrácení zpět/znovu.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Toto je hlavní vstupní bod psReadLine. Nepodporuje rekurze, takže není užitečná ve vlastní vazbě klíče.
void RemoveKeyHandler(string[] key)
Tuto funkci používá Remove-PSReadLineKeyHandler a pravděpodobně není příliš užitečná ve vlastní vazbě klíče.
void Replace(int start, int length, string replacement)
Nahraďte některé vstupy. Tato operace podporuje vrácení zpět/znovu. Toto je upřednostňované před odstraněním a následným vložením, protože se považuje za jedinou akci pro vrácení zpět.
void SetCursorPosition(int cursor)
Přesuňte kurzor na daný posun. Pohyb kurzoru není sledován pro vrácení zpět.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Tato funkce je pomocná metoda používaná rutinou Set-PSReadLineOption, ale může být užitečná pro vlastní vazbu klíče, která chce dočasně změnit nastavení.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Tato pomocná metoda se používá pro vlastní vazby, které dodržují DigitArgument. Typický hovor vypadá takto:
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Poznámky
Historie příkazů
PSReadLine udržuje soubor historie obsahující všechny příkazy a data, která jste zadali z příkazového řádku. Soubory historie jsou soubory s názvem $($host.Name)_history.txt. V systémech Windows je soubor historie uložen v $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine. V systémech jiných než Windows jsou soubory historie uloženy ve nebo $env:XDG_DATA_HOME/powershell/PSReadLine$env:HOME/.local/share/powershell/PSReadLine.
Historie může obsahovat citlivá data včetně hesel. PsReadLine se pokusí vyfiltrovat citlivé informace. Všechny příkazové řádky obsahující následující řetězce nejsou zapsány do souboru historie.
- heslo
- Skrytý text
- token
- apikey
- tajný klíč
Zpětná vazba a přispívání do PSReadLine
Nebojte se odeslat žádost o přijetí změn nebo odeslat zpětnou vazbu na stránce GitHubu.
Viz také
- PSReadLine je silně ovlivněn gnu readline knihovnou.