about_PSReadLine_Functions

Krátký popis

PSReadLine poskytuje vylepšené prostředí pro úpravy příkazového řádku v konzole PowerShellu.

Dlouhý popis

PowerShell 7.2 se dodává s PSReadLine 2.1.0. K dispozici jsou novější verze. Aktuální verze PSReadLine je možné nainstalovat a používat na Windows PowerShell 5.1 a novější. U některých funkcí musíte používat PowerShell 7.2 nebo novější.

Tento článek dokumentuje funkce poskytované PSReadLine. Tyto funkce mohou být vázány na klávesové zkratky pro snadný přístup a vyvolání.

Použití třídy Microsoft.PowerShell.PSConsoleReadLine

Následující funkce jsou k dispozici ve třídě Microsoft.PowerShell.PSConsoleReadLine.

Základní funkce pro úpravy

Přerušení

Přerušte aktuální akci, například: vyhledávání přírůstkové historie.

  • Emacs: <Ctrl+g>
  • Režim vložení Vi: <Ctrl+g>
  • Režim příkazu Vi: <Ctrl+g>

AcceptAndGetNext

Pokus o spuštění aktuálního vstupu Pokud je možné ji spustit (například AcceptLine), pak 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á na úpravy aktuálního vstupu.

  • Cmd: <Enter>
  • Emacs: <Enter>
  • Režim vložení Vi: <Enter>

AddLine

Výzva k pokračování se zobrazí na dalším řádku a PSReadLine čeká na úpravy aktuálního vstupu. To je užitečné při zadávání víceřádkového vstupu jako jednoho příkazu i v případě, že jeden řádek je ú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ětnabídkaChar

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říkazu Vi: <X>, <d,h>

ZpětnádeleteInput

Podobně jako BackwardKillInput – odstraní text z bodu na začátek vstupu, ale neodloží odstraněný text do kruhu kill-ring.

  • Cmd: <Ctrl+Home>
  • Režim vložení Vi: <Ctrl+u>, <Ctrl+Home>
  • Režim příkazu Vi: <Ctrl+u>, <Ctrl+Home>

Zpětná čára

Podobně jako BackwardKillLine – odstraní text z bodu na začátek řádku, ale neodloží odstraněný text do kruhu kill-ring.

  • Režim příkazu Vi: <d,0>

ZpětNásměrka

Odstraní předchozí slovo.

  • Režim příkazu Vi: <Ctrl+w>, <d,b>

BackwardKillInput

Vymažte text od začátku vstupu na kurzor. Vymazaný text se umístí do kruhu kill-ring.

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

BackwardKillLine

Vymažte text od začátku aktuálního logického řádku na kurzor. Vymazaný text se umístí do kruhu kill-ring.

  • Funkce je nevázaná.

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, ponechte vstup na obrazovce, ale vrátí se zpět na hostitele, takže se výzva vyhodnotí znovu.

  • Režim vložení Vi: <Ctrl+c>
  • Režim příkazu Vi: <Ctrl+c>

Kopírovat

Zkopírujte vybranou oblast do systémové schránky. Pokud není vybraná žádná oblast, zkopírujte celý řádek.

  • Cmd: <Ctrl+C>

CopyOrCancelLine

Pokud je vybraný text, zkopírujte ho do schránky, jinak řádek zrušte.

  • Cmd: <Ctrl+c>
  • Emacs: <Ctrl+c>

Vyjmout

Odstraňte vybranou oblast, která umístí odstraněný text do systémové schránky.

  • Cmd: <Ctrl+x>

DeleteChar

Odstraňte znak pod kurzorem.

  • Cmd: <Delete>
  • Emacs: <Delete>
  • Režim vložení Vi: <Delete>
  • Režim příkazu Vi: <Delete>, , <x>, <d,l><d,Spacebar>

DeleteCharOrExit

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>

DeleteEndOfWord

Odstraňte na konec slova.

  • Režim příkazu Vi: <d,e>

DeleteLine

Odstraní aktuální logický řádek víceřádkové vyrovnávací paměti a povolí vrácení zpět.

  • Režim příkazu 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.

Jako většina příkazů <d,g,g> Vi je možné příkaz předem vytvořit s číselným argumentem, který určuje absolutní číslo řádku, které společně s aktuálním číslem řádku tvoří oblast řádků, které se mají odstranit. Pokud není zadaný, číselný argument je výchozí hodnota 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 logickým číslem a zadaným číselným argumentem, který může být tedy 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í se z prvního neprázdného znaku aktuální logické čáry ve víceřádkové vyrovnávací paměti.

  • Režim příkazu Vi: <d,^>

DeleteToEnd

Odstraňte na konec řádku.

  • Režim příkazu Vi: <D>, <d,$>

DeleteWord

Odstraňte další slovo.

  • Režim příkazu Vi: <d,w>

ForwardDeleteInput

Podobně jako KillLine – odstraní text z bodu na konec vstupu, ale neodloží odstraněný text do kruhu kill-ring.

  • Cmd: <Ctrl+End>
  • Režim vložení Vi: <Ctrl+End>
  • Režim příkazu Vi: <Ctrl+End>

ForwardDeleteLine

Odstraní text z bodu na konec aktuální logické čáry, ale neodloží odstraněný text do kruhu kill-ring.

  • Funkce je nevázaná

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

KillLine

Vymažte vstup z 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á.

KillWord

Vymažte vstup z 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>

Vložit

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í metody vložení kliknutí pravým tlačítkem aplikace konzoly se 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 se vstup parsuje po jednom řádku. Rozdíl mezi metodami vložení vede k různým chováním při provádění.

PasteAfter

Vložte schránku za kurzor a přesuňte kurzor na konec vloženého textu.

  • Režim příkazu Vi: <p>

PasteBefore

Vložte schránku před kurzor a přesuňte kurzor na konec vloženého textu.

  • Režim příkazu Vi: <P>

PrependAndAccept

Předpend '#' a přijměte řádek.

  • Režim příkazu Vi: <#>

Opakovat

Zpět zpět zpět.

  • Cmd: <Ctrl+y>
  • Režim vložení Vi: <Ctrl+y>
  • Režim příkazu Vi: <Ctrl+y>

RepeatLastCommand

Opakujte poslední úpravu textu.

  • Režim příkazu Vi: <.>

Zpětná čára

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

SwapCharacters

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>

Zpět

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říkazu Vi: <Ctrl+z>, <u>

Zpě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á na úpravy aktuálního vstupu.

  • Emacs: <Ctrl+m>

ViAcceptLine

Přijměte řádek a přepněte do režimu vložení.

  • Režim příkazu Vi: <Enter>

ViAcceptLineOrExit

Podobně 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 a použije jako oddělovač slov 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

Najděte odpovídající 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

Odstraňte další glob (prázdné znaky oddělené slovem).

  • Režim příkazu Vi: <d,W>

ViDeleteToBeforeChar

Odstraní se, dokud se daný znak neodstraní.

  • Režim příkazu Vi: <d,t>

ViDeleteToBeforeCharBackward

Odstraní se, dokud se daný znak neodstraní.

  • Režim příkazu Vi: <d,T>

ViDeleteToChar

Odstraní se, dokud se daný znak neodstraní.

  • 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 se 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říkazu Vi: <S>, <c,c>

ViReplaceToBeforeChar

Nahradí až do zadaného znaku.

  • Režim příkazu Vi: <c,t>

ViReplaceToBeforeCharBackward

Nahradí až do zadaného znaku.

  • Režim příkazu Vi: <c,T>

ViReplaceToChar

Odstraní se, dokud se daný znak neodstraní.

  • Režim příkazu Vi: <c,f>

ViReplaceToCharBackward

Nahradí až do zadaného znaku.

  • 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

Yank od kurzoru na konec WORD(s).

  • Režim příkazu Vi: <y,E>

ViYankEndOfWord

Yank od kurzoru na konec slov.

  • Režim příkazu Vi: <y,e>

ViYankLeft

Znaky Yank vlevo od kurzoru.

  • Režim příkazu Vi: <y,h>

ViYankLine

Yank celou vyrovnávací paměť.

  • Režim příkazu Vi: <y,y>

ViYankNextGlob

Yank od kurzoru na začátek dalších SLOV.

  • Režim příkazu Vi: <y,W>

ViYankNextWord

Po kurzoru zamknou slova.

  • Režim příkazu Vi: <y,w>

ViYankPercent

Yank do/z odpovídající složené závorky.

  • Režim příkazu Vi: <y,%>

ViYankPreviousGlob

Yank od začátku SLOV na kurzor.

  • Režim příkazu Vi: <y,B>

ViYankPreviousWord

Zamkni slova před kurzorem.

  • Režim příkazu Vi: <y,b>

ViYankRight

Znaky Yank pod a vpravo od kurzoru.

  • Režim příkazu Vi: <y,l>, <y,Spacebar>

ViYankToEndOfLine

Yank od kurzoru na konec vyrovnávací paměti.

  • Režim příkazu Vi: <y,$>

ViYankToFirstChar

Yank z prvního prázdného znaku na kurzor.

  • Režim příkazu Vi: <y,^>

Trhnout

Přidejte do vstupu naposledy zabitý text.

  • Emacs: <Ctrl+y>

YankLastArg

Yank poslední argument z předchozího řádku historie. Při prvním vyvolání argumentu se chová stejně jako YankNthArg. Pokud je vyvoláno vícekrát, místo toho iteruje historii a arg nastaví směr (záporné obrácení směru.)

  • Cmd: <Alt+.>
  • Emacs: <Alt+.>, <Alt+_>, , <Escape,.><Escape,_>

YankNthArg

Yank 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 odepsaný text dalším zabitým textem z okruhu kill-ring.

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

Funkce pohybu kurzoru

Zpětná znaména

Přesuňte kurzor o jeden znak doleva. To může přesunout kurzor na předchozí řádek víceřádkového vstupu.

  • Cmd: <LeftArrow>
  • Emacs: <LeftArrow>, <Ctrl+b>

Zpětné slovo

Přesuňte kurzor zpět na začátek aktuálního slova, nebo pokud je mezi slovy začátek předchozího slova. Hranice wordu 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 ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz 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 už 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>

EndOfLine

Pokud má vstup více řádků, přejděte na konec aktuálního řádku nebo pokud už na konci řádku je, 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řesuňte kurzor o jeden znak doprava. To může přesunout kurzor na další řádek víceřádkového vstupu.

  • Cmd: <RightArrow>
  • Emacs: <RightArrow>, <Ctrl+f>

ForwardWord

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 konfigurovatelnou sadou znaků.

  • Emacs: <Alt+f>, <Escape,f>

Znaky definující hranice slova jsou nakonfigurovány ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz Get-PSReadLineOption a Set-PSReadLineOption.

GotoBrace

Přejděte na odpovídající závorku, závorku nebo hranaté závorky.

  • Cmd: <Ctrl+]>
  • Režim vložení Vi: <Ctrl+]>
  • Režim příkazu Vi: <Ctrl+]>

GotoColumn

Přesuňte se do sloupce označeného argumentem arg.

  • Režim příkazu Vi: <|>

GotoFirstNonBlankOfLine

Přesuňte kurzor na první neprázdný znak na řádku.

  • Režim příkazu Vi: <^>, <_>

MoveToEndOfLine

Přesuňte kurzor na konec vstupu.

  • Režim příkazu Vi: <End>, <$>

NextLine

Přesuňte kurzor na další řádek.

  • Funkce je nevázaná.

NextWord

Přesuňte kurzor dopředu na začátek dalšího slova. Hranice wordu 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 ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz Get-PSReadLineOption a Set-PSReadLineOption.

NextWordEnd

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 konfigurovatelnou sadou znaků.

  • Režim příkazu Vi: <e>

Znaky definující hranice slova jsou nakonfigurovány ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz Get-PSReadLineOption a Set-PSReadLineOption.

Předchozí řádek

Přesuňte kurzor na předchozí řádek.

  • Funkce je nevázaná.

ShellBackwardWord

Přesuňte kurzor zpět na začátek aktuálního slova, nebo pokud je mezi slovy začátek předchozího slova. Hranice wordu jsou definovány tokeny PowerShellu.

  • Funkce je nevázaná.

ShellForwardWord

Přesuňte kurzor dopředu na začátek dalšího slova. Hranice wordu jsou definovány tokeny 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 tokeny PowerShellu.

  • Funkce je nevázaná.

ViBackwardChar

Přesunutí kurzoru o jeden znak vlevo v režimu úprav Vi To může přesunout kurzor na předchozí řádek víceřádkového vstupu.

  • Režim vložení Vi: <LeftArrow>
  • Režim příkazu Vi: <LeftArrow>, , <Backspace><h>

ViBackwardWord

Přesuňte kurzor zpět na začátek aktuálního slova, nebo pokud je mezi slovy začátek předchozího slova. Hranice wordu jsou definovány konfigurovatelnou sadou znaků.

  • Režim příkazu Vi: <b>

Znaky definující hranice slova jsou nakonfigurovány ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz Get-PSReadLineOption a Set-PSReadLineOption.

ViForwardChar

Přesuňte kurzor o jeden znak doprava v režimu úprav Vi. To může přesunout kurzor na další řádek víceřádkového vstupu.

  • Režim vložení Vi: <RightArrow>
  • Režim příkazu Vi: <RightArrow>, , <Spacebar><l>

ViEndOfGlob

Přesune kurzor na konec slova a použije pouze prázdné znaky jako oddělovače.

  • Režim příkazu Vi: <E>

ViEndOfPreviousGlob

Přesune se na konec předchozího slova a jako oddělovač slov použije jenom prázdné znaky.

  • Funkce je nevázaná.

ViGotoBrace

Podobá se GotoBrace, ale je založen na znakech místo tokenů.

  • Režim příkazu Vi: <%>

ViNextGlob

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 wordu jsou definovány konfigurovatelnou sadou znaků.

  • Režim příkazu Vi: <w>

Znaky definující hranice slova jsou nakonfigurovány ve WordDelimiters vlastnost PSConsoleReadLineOptions objektu. Chcete-li zobrazit nebo změnit Vlastnost WordDelimiters , viz 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>

EndOfHistory

Přechod na poslední položku (aktuální vstup) v historii

  • Emacs: <Alt+>>

ForwardSearchHistory

Proveďte přírůstkové vyhledávání v historii.

  • Cmd: <Ctrl+s>
  • Emacs: <Ctrl+s>
  • Režim vložení Vi: <Ctrl+s>
  • Režim příkazu Vi: <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>

NextHistory

Aktuální vstup nahraďte další položkou z historie PSReadLine.

  • Cmd: <DownArrow>
  • Emacs: <DownArrow>, <Ctrl+n>
  • Režim vložení Vi: <DownArrow>
  • Režim příkazu 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říkazu Vi: <UpArrow>, , <k><->

ReverseSearchHistory

Proveďte přírůstkové zpětné vyhledávání prostřednictvím historie.

  • Cmd: <Ctrl+r>
  • Emacs: <Ctrl+r>
  • Režim vložení Vi: <Ctrl+r>
  • Režim příkazu Vi: <Ctrl+r>

ViSearchHistoryBackward

Zobrazí výzvu k zadání vyhledávacího řetězce a zahájí hledání na AcceptLine.

  • Režim příkazu Vi: </>

Funkce dokončování

Dokončit

Pokus o dokončení textu obklopuje kurzor. Pokud existuje více možných dokončení, použije se nejdelší jednoznačná předpona pro dokončení. Pokud se pokoušíte dokončit nejdelší jednoznačné dokončení, zobrazí se seznam možných dokončení.

  • Emacs: <Tab>

Pokus o dokončení textu obklopuje kurzor. Pokud existuje více možných dokončení, použije se nejdelší jednoznačná předpona pro dokončení. 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čování

Zobrazte 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

Pokuste se dokončit text 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>

Predikční funkce

AcceptNextSuggestionWord

Při použití InlineView jako stylu zobrazení pro predikci přijměte další slovo vloženého návrhu.

  • Funkce je nevázaná.

AcceptSuggestion

Při použití InlineView jako stylu zobrazení pro predikci přijměte aktuální vložený návrh.

  • Funkce je nevázaná.

NextSuggestion

Při použití ListView jako stylu zobrazení pro predikci přejděte na další návrh v seznamu.

  • Funkce je nevázaná.

PředchozíSuggestion

Při použití ListView jako stylu zobrazení pro predikci přejděte na předchozí návrh v seznamu.

  • Funkce je nevázaná.

SwitchPredictionView

Přepnutí stylu zobrazení pro predikci mezi InlineView a ListView.

  • Cmd: <F2>

Různé funkce

CaptureScreen

Zachytávání interaktivní obrazovky – šipky nahoru/dolů vyberou řádky, jako text a HTML zadejte do schránky vybraný text.

  • Funkce je nevázaná.

ClearScreen

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>

DigitArgument

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ávesovoutiskem. Například stisknutím <Alt+1><Alt+0> klávesy nastavíte hodnotu argumentu číslice na hodnotu 10. Potom stisknutím klávesy # odešlete na vstupní řádek 10 # znaků (##########). Podobně to můžete použít s jinými operacemi, například <Delete> nebo Left-Arrow.

  • Cmd: <Alt+0>, <Alt+1>, <Alt+9><Alt+8><Alt+2><Alt+3><Alt+4><Alt+5><Alt+6><Alt+7><Alt+->
  • Emacs: <Alt+0>, <Alt+1><Alt+5><Alt+6><Alt+7><Alt+3><Alt+4><Alt+2>, , <Alt+8><Alt+9><Alt+->
  • Režim příkazu Vi: <0>, <1><5><2><3><4>, <6>, , <8><7><9>

InvokePrompt

Vymaže aktuální výzvu a zavolá funkci výzvy k opětovnému zobrazení výzvy. Užitečné pro vlastní obslužné rutiny klíčů, které mění stav. Změňte například aktuální adresář.

  • Funkce je nevázaná.

ScrollDisplayDown

Posuňte zobrazení dolů o jednu obrazovku.

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

SelfInsert

Vložte klíč.

  • Funkce je nevázaná.

ShowCommandHelp

Poskytuje zobrazení úplné nápovědy k rutině. Když je kurzor na konci plně rozšířeného parametru, stiskněte <F1> klíčové pozice zobrazení nápovědy v umístění tohoto parametru.

Nápověda se zobrazí na alternativní vyrovnávací paměti obrazovky pomocí Pager z Microsoft.PowerShell.Pager. Když stránku ukončíte, vrátíte se na původní pozici kurzoru na původní obrazovce. Tento pager funguje jenom v moderních terminálových aplikacích, jako je Terminál Windows.

  • Cmd: <F1>
  • Emacs: <F1>
  • Režim vložení Vi: <F1>
  • Režim příkazu Vi: <F1>

ShowKeyBindings

Zobrazit všechny vázané klíče

  • Cmd: <Ctrl+Alt+?>
  • Emacs: <Ctrl+Alt+?>
  • Režim vložení Vi: <Ctrl+Alt+?>

ShowParameterHelp

Poskytuje dynamickou nápovědu pro parametry tak, že se zobrazí pod aktuálním příkazovým řádkem, například MenuComplete. Kurzor musí být na konci plně rozbaleného názvu parametru, když stisknete klávesu <Alt+h> .

  • Cmd: <Alt+h>
  • Emacs: <Alt+h>
  • Režim vložení Vi: <Alt+h>
  • Režim příkazu Vi: <Alt+h>

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

ViEditVisually

Upravte příkazový řádek v textovém editoru určeném uživatelem $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>

WhatIsKey

Přečtěte si klíč a řekněte mi, k čemu je klíč vázán.

  • Cmd: <Alt+?>
  • Emacs: <Alt+?>

Funkce výběru

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>

SelectAll

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>

SelectCommandArgument

Vyberte vizuální výběr argumentů příkazů. Výběr argumentů je vymezen v rámci bloku skriptu. Na základě pozice kurzoru vyhledá z nejvnitřnějšího bloku skriptu blok skriptu do bloku skriptu odsud a zastaví se, když najde všechny argumenty v oboru bloku skriptu.

Tato funkce respektuje DigitArgument. Považuje kladné nebo záporné hodnoty argumentů za posun dopředu nebo dozadu od aktuálně vybraného argumentu nebo z aktuální pozice kurzoru, pokud není vybraný žádný argument.

  • Cmd: <Alt+a>
  • Emacs: <Alt+a>

SelectForwardChar

Upravte aktuální výběr tak, aby zahrnoval další znak.

  • Cmd: <Shift+RightArrow>
  • Emacs: <Shift+RightArrow>

SelectForwardWord

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí příkazu ForwardWord.

  • Emacs: <Alt+F>

SelectLine

Upravte aktuální výběr tak, aby zahrnoval kurzor na konec řádku.

  • Cmd: <Shift+End>
  • Emacs: <Shift+End>

SelectNextWord

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

SelectShellForwardWord

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellForwardWord.

  • Funkce je nevázaná.

SelectShellNextWord

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellNextWord.

  • Funkce je nevázaná.

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 povolena prediktivní technologie IntelliSense.

AcceptNextWordSuggestion

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

AcceptSuggestion

Přijme aktuální vložený návrh z Prediktivní IntelliSense stisknutím klávesy RightArrow , když je kurzor na konci aktuálního řádku.

Vyhledávací funkce

CharacterSearch

Přečtěte si znak a vyhledejte další výskyt tohoto znaku. Pokud je zadaný argument, vyhledejte ho dopředu (nebo dozadu, pokud je záporný) pro nth výskyt.

  • Cmd: <F3>
  • Emacs: <Ctrl+]>
  • Režim vložení Vi: <F3>
  • Režim příkazu Vi: <F3>

CharacterSearchBackward

Přečtěte si znak a vyhledejte dozadu další výskyt tohoto znaku. Pokud je zadaný argument, vyhledejte ho zpět (nebo dopředu, pokud je záporný) pro nth výskyt.

  • Cmd: <Shift+F3>
  • Emacs: <Ctrl+Alt+]>
  • Režim vložení Vi: <Shift+F3>
  • Režim příkazu Vi: <Shift+F3>

RepeatLastCharSearch

Opakujte poslední zaznamenané vyhledávání znaků.

  • Režim příkazu Vi: <;>

RepeatLastCharSearchBackwards

Opakujte poslední zaznamenané vyhledávání znaků, ale v opačném směru.

  • Režim příkazu Vi: <,>

RepeatSearch

Opakujte poslední hledání stejným směrem jako předtím.

  • Režim příkazu Vi: <n>

RepeatSearchBackward

Opakujte poslední hledání stejným směrem jako předtím.

  • Režim příkazu Vi: <N>

SearchChar

Přečtěte si další znak a pak ho najděte, přejdete dopředu a pak se vrátíte zpět na znak. To je pro funkci "t".

  • Režim příkazu Vi: <f>

SearchCharBackward

Přečtěte si další znak a pak ho najděte, vraťte se dozadu a pak se vraťte ke znaku. Jedná se o funkci T.

  • Režim příkazu Vi: <F>

SearchCharBackwardWithBackoff

Přečtěte si další znak a pak ho najděte, vraťte se dozadu a pak se vraťte ke znaku. Jedná se o funkci 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 zpět na znak. To je pro funkci "t".

  • Režim příkazu Vi: <t>

SearchForward

Zobrazí výzvu k zadání vyhledávacího řetězce a zahájí hledání na AcceptLine.

  • Režim příkazu Vi: <?>

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. Většina je užitečná ve vlastních vazbách klíčů.

void AddToHistory(string command)

Přidejte do historie příkazový řádek, aniž byste ho museli spustit.

void ClearKillRing()

Vymažte ho. Používá se většinou k testování.

void Delete(int start, int length)

Odstraňte znaky délky od začátku. Tato operace podporuje vrácení zpět/znovu.

void Ding()

Proveďte akci Ding na základě preference uživatele.

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 běžně používá pro jednoduché případy. Druhá je použita, pokud 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í slouží k získání všech vazeb klíčů. Druhá se používá k získání konkrétních klíčových vazeb.

Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()

Tato funkce je používána 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 není na příkazovém řádku žádný výběr, vrátí funkce hodnotu -1 v počátečním i dlouhém formátu. 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)

Vložte znak nebo řetězec na kurzor. Tato operace podporuje vrácení zpět/znovu.

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

Toto je hlavní vstupní bod psReadLine. Nepodporuje rekurzi, takže není užitečná ve vlastní vazbě klíče.

void RemoveKeyHandler(string[] key)

Tato funkce je používána 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ějaký vstup. Tato operace podporuje vrácení zpět/znovu. Toto je upřednostňované před odstraněním a 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 se nesleduje 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é respektují DigitArgument. Typický hovor vypadá takto:

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

Poznámky

Chování události OnIdle

  • Při použití psReadLine se událost OnIdle aktivuje při ReadKey() vypršení časového limitu (bez zadání v 300ms). Událost může být signalizovat, když je uživatel uprostřed úprav příkazového řádku, například uživatel čte nápovědu k rozhodnutí, který parametr se má použít.

    Počínaje verzí PSReadLine 2.2.0-beta4 se chování OnIdle změnilo tak, aby signalizovalo událost pouze v případě, že dojde ReadKey() k vypršení časového limitu a aktuální vyrovnávací paměť pro úpravy je prázdná.

Viz také