Informacje o PSReadLine

Krótki opis

Funkcja PSReadLine zapewnia ulepszone środowisko edytowania wiersza polecenia w konsoli programu PowerShell.

Długi opis

Program PSReadLine 2.0 zapewnia zaawansowane środowisko edytowania wiersza polecenia dla konsoli programu PowerShell. Zapewnia:

  • Kolorowanie składni wiersza polecenia
  • Wizualne wskazanie błędów składni
  • Lepsze środowisko wielowierszowe (zarówno edytowanie, jak i historia)
  • Dostosowywalne powiązania kluczy
  • Tryby Cmd i Emacs
  • Wiele opcji konfiguracji
  • Uzupełnianie stylu powłoki Bash (opcjonalne w trybie Cmd, ustawienie domyślne w trybie Emacs)
  • Szarpnięcie/Pierścień zabijania Emacsa
  • Przenoszenie i usuwanie oparte na tokenie programu PowerShell

Funkcja PSReadLine wymaga programu PowerShell 3.0 lub nowszego. Program PSReadLine współpracuje z domyślnym hostem konsoli, programem Visual Studio Code i terminalem okna. Nie działa w programie PowerShell ISE.

Program PSReadLine 2.1.0 jest dostarczany z programem PowerShell 7.2 i jest obsługiwany we wszystkich obsługiwanych wersjach programu PowerShell. Jest dostępny do zainstalowania z galerii programu PowerShell. Aby zainstalować program PSReadLine 2.1.0 w obsługiwanej wersji programu PowerShell, uruchom następujące polecenie.

Install-Module -Name PSReadLine -RequiredVersion 2.1.0

Nuta

Począwszy od programu PowerShell 7.0, program PowerShell pomija automatyczne ładowanie programu PSReadLine w systemie Windows, jeśli zostanie wykryty program czytnika zawartości ekranu. Obecnie funkcja PSReadLine nie działa dobrze z czytnikami zawartości ekranu. Domyślne renderowanie i formatowanie programu PowerShell 7.0 w systemie Windows działa prawidłowo. W razie potrzeby możesz ręcznie załadować moduł.

Następujące funkcje są dostępne w klasie Microsoft.PowerShell.PSConsoleReadLine.

Podstawowe funkcje edycji

Przerwać

Przerwij bieżącą akcję, na przykład: wyszukiwanie historii przyrostowej.

  • Emacs: <Ctrl+g>

AcceptAndGetNext

Spróbuj wykonać bieżące dane wejściowe. Jeśli można go wykonać (na przykład AcceptLine), przypomnij sobie następny element z historii przy następnym wywołaniu funkcji ReadLine.

  • Emacs: <Ctrl+o>

Linia akceptacji

Spróbuj wykonać bieżące dane wejściowe. Jeśli bieżące dane wejściowe są niekompletne (na przykład brakuje nawiasu zamykającego, nawiasu lub cudzysłowu), monit kontynuacji jest wyświetlany w następnym wierszu, a funkcja PSReadLine czeka na klucze, aby edytować bieżące dane wejściowe.

  • Cmd: <Enter>
  • Emacs: <Enter>
  • Tryb wstawiania vi: <Enter>

Dodaj linię

Monit kontynuacji jest wyświetlany w następnym wierszu, a funkcja PSReadLine czeka na edytowanie bieżących danych wejściowych przez klucze. Jest to przydatne do wprowadzania danych wejściowych w wielu wierszach jako pojedynczego polecenia nawet wtedy, gdy pojedynczy wiersz jest kompletnym wejściem.

  • Cmd: <Shift+Enter>
  • Emacs: <Shift+Enter>
  • Tryb wstawiania vi: <Shift+Enter>
  • Tryb polecenia Vi: <Shift+Enter>

WsteczDeleteChar

Usuń znak przed kursorem.

  • Polecenie polecenia: <Backspace>, <Ctrl+h>
  • Emacs: <Backspace>, <Ctrl+Backspace>, <Ctrl+h>
  • Tryb wstawiania vi: <Backspace>
  • Tryb polecenia Vi: <X>, <d,h>

WsteczDeleteLine

Podobnie jak WsteczKillLine — usuwa tekst od punktu do początku wiersza, ale nie umieszcza usuniętego tekstu w pierścieniu kill-ring.

  • Cmd: <Ctrl+Home>
  • Tryb wstawiania vi: <Ctrl+u>, <Ctrl+Home>
  • Tryb polecenia Vi: <Ctrl+u>, , <Ctrl+Home><d,0>

WsteczDeleteWord

Usuwa poprzednie słowo.

  • Tryb polecenia Vi: <Ctrl+w>, <d,b>

WsteczKillLine

Wyczyść dane wejściowe od początku danych wejściowych do kursora. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

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

WsteczKillWord

Wyczyść dane wejściowe od początku bieżącego słowa do kursora. Jeśli kursor znajduje się między wyrazami, dane wejściowe są czyszczone od początku poprzedniego wyrazu do kursora. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

  • Polecenie polecenia: <Ctrl+Backspace>, <Ctrl+w>
  • Emacs: <Alt+Backspace>, <Escape,Backspace>
  • Tryb wstawiania vi: <Ctrl+Backspace>
  • Tryb polecenia Vi: <Ctrl+Backspace>

Anuluj wiersz

Anuluj bieżące dane wejściowe, pozostawiając dane wejściowe na ekranie, ale wraca do hosta, aby ponownie ocenić monit.

  • Tryb wstawiania vi: <Ctrl+c>
  • Tryb polecenia Vi: <Ctrl+c>

Kopiować

Skopiuj wybrany region do schowka systemowego. Jeśli nie wybrano żadnego regionu, skopiuj cały wiersz.

  • Cmd: <Ctrl+C>

CopyOrCancelLine

Jeśli tekst jest zaznaczony, skopiuj do schowka, w przeciwnym razie anuluj wiersz.

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

Ciąć

Usuń zaznaczony region, umieszczając usunięty tekst w schowku systemowym.

  • Cmd: <Ctrl+x>

DeleteChar (DeleteChar)

Usuń znak pod kursorem.

  • Cmd: <Delete>
  • Emacs: <Delete>
  • Tryb wstawiania vi: <Delete>
  • Tryb polecenia Vi: <Delete>, <x>, , <d,l><d,Spacebar>

DeleteCharOrExit (DeleteCharOrExit)

Usuń znak pod kursorem lub jeśli wiersz jest pusty, zakończ proces.

  • Emacs: <Ctrl+d>

DeleteEndOfBuffer (UsuńKoniecBufora)

Usuwa na końcu buforu wielowierszowego.

  • Tryb polecenia Vi: <d,G>

DeleteEndOfWord (UsuńKoniecProgramu)

Usuń na końcu wyrazu.

  • Tryb polecenia Vi: <d,e>

DeleteLine (UsuńWiersz)

Usuwa bieżącą linię logiczną buforu wielowierszowego, włączając cofanie.

  • Tryb polecenia Vi: <d,d>, <d,_>

UsuńPoprzednieWiersze

Usuwa poprzednie żądane wiersze logiczne i bieżącą linię logiczną w buforze wielowierszowym.

  • Tryb polecenia Vi: <d,k>

DeleteRelativeLines (UsuńRelativeLines)

Usuwa z początku buforu do bieżącego wiersza logicznego w buforze wielowierszowym.

Jak większość poleceń Vi, <d,g,g> polecenie można poprzedzać argumentem liczbowym określającym bezwzględny numer wiersza, który wraz z bieżącym numerem wiersza składa się z zakresu wierszy do usunięcia. Jeśli nie zostanie określony, argument liczbowy domyślnie ma wartość 1, która odwołuje się do pierwszego wiersza logicznego w buforze wielowierszowym.

Rzeczywista liczba wierszy do usunięcia z wielowierszowego jest obliczana jako różnica między bieżącym numerem wiersza logicznego a określonym argumentem liczbowym, co może być ujemne. Stąd względna część nazwy metody.

  • Tryb polecenia Vi: <d,g,g>

UsuńNastępne wiersze

Usuwa bieżący wiersz logiczny i następne żądane wiersze logiczne w buforze wielowierszowym.

  • Tryb polecenia Vi: <d,j>

DeleteLineToFirstChar

Usuwa tekst z kursora do pierwszego niepustego znaku wiersza.

  • Tryb polecenia Vi: <d,^>

DeleteToEnd

Usuń na końcu wiersza.

  • Tryb polecenia Vi: <D>, <d,$>

UsuńSłowo

Usuń następny wyraz.

  • Tryb polecenia Vi: <d,w>

ForwardDeleteLine (Linia do przodu)

Podobnie jak ForwardKillLine — usuwa tekst od punktu do końca wiersza, ale nie umieszcza usuniętego tekstu w pierścieniu kill-ring.

  • Cmd: <Ctrl+End>
  • Tryb wstawiania vi: <Ctrl+End>
  • Tryb polecenia Vi: <Ctrl+End>

InsertLineAbove (Wstaw wiersz) powyżej

Nowy pusty wiersz jest tworzony powyżej bieżącego wiersza niezależnie od tego, gdzie kursor znajduje się w bieżącym wierszu. Kursor przechodzi na początek nowego wiersza.

  • Cmd: <Ctrl+Enter>

Wstaw linię poniżej

Nowy pusty wiersz jest tworzony poniżej bieżącego wiersza niezależnie od tego, gdzie kursor znajduje się w bieżącym wierszu. Kursor przechodzi na początek nowego wiersza.

  • Cmd: <Shift+Ctrl+Enter>

Odwrócone litery

Odwróć przypadek bieżącego znaku i przejdź do następnego.

  • Tryb polecenia Vi: <~>

Linia zabójstwa

Wyczyść dane wejściowe z kursora na końcu danych wejściowych. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

  • Emacs: <Ctrl+k>

Region zabicia

Zabij tekst między kursorem a znacznikem.

  • Funkcja jest niezwiązana.

Zabić Słowo

Wyczyść dane wejściowe z kursora na końcu bieżącego wyrazu. Jeśli kursor znajduje się między wyrazami, dane wejściowe są czyszczone z kursora na końcu następnego wyrazu. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

  • Polecenie polecenia: <Alt+d>, <Ctrl+Delete>
  • Emacs: <Alt+d>, <Escape,d>
  • Tryb wstawiania vi: <Ctrl+Delete>
  • Tryb polecenia Vi: <Ctrl+Delete>

Wklejać

Wklej tekst ze schowka systemowego.

  • Polecenie polecenia: <Ctrl+v>, <Shift+Insert>
  • Tryb wstawiania vi: <Ctrl+v>
  • Tryb polecenia Vi: <Ctrl+v>

Ważny

W przypadku korzystania z funkcji Paste cała zawartość buforu schowka jest wklejona do buforu wejściowego elementu PSReadLine. Bufor wejściowy jest następnie przekazywany do analizatora programu PowerShell. Dane wejściowe wklejone przy użyciu metody wklejania prawym przyciskiem myszy aplikacji konsolowej są kopiowane do buforu wejściowego o jeden znak jednocześnie. Bufor wejściowy jest przekazywany do analizatora po skopiowaniu nowego znaku wiersza. W związku z tym dane wejściowe są analizowane po jednym wierszu naraz. Różnica między metodami wklejania powoduje różne zachowanie wykonywania.

Wklej po

Wklej schowek po kursorze, przenosząc kursor na koniec wklejonego tekstu.

  • Tryb polecenia Vi: <p>

Wklej przed

Wklej schowek przed kursorem, przenosząc kursor na koniec wklejonego tekstu.

  • Tryb polecenia Vi: <P>

Dołącz i zaakceptuj

Poprzedzał ciąg "#" i akceptował wiersz.

  • Tryb polecenia Vi: <#>

Ponowić

Cofanie cofania.

  • Cmd: <Ctrl+y>
  • Tryb wstawiania vi: <Ctrl+y>
  • Tryb polecenia Vi: <Ctrl+y>

RepeatLastCommand (Powtórz Ostatnie)

Powtórz ostatnią modyfikację tekstu.

  • Tryb polecenia Vi: <.>

Linia powrotna

Przywraca wszystkie dane wejściowe do bieżących danych wejściowych.

  • Cmd: <Escape>
  • Emacs: <Alt+r>, <Escape,r>

ShellBackwardKillWord (Słowo PowłokaZabój Wsteczne)

Wyczyść dane wejściowe od początku bieżącego słowa do kursora. Jeśli kursor znajduje się między wyrazami, dane wejściowe są czyszczone od początku poprzedniego wyrazu do kursora. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

Funkcja jest niezwiązana.

Słowo ShellKillWord

Wyczyść dane wejściowe z kursora na końcu bieżącego wyrazu. Jeśli kursor znajduje się między wyrazami, dane wejściowe są czyszczone z kursora na końcu następnego wyrazu. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

Funkcja jest niezwiązana.

Zamień znaki

Zamień bieżący znak i ten przed nim.

  • Emacs: <Ctrl+t>
  • Tryb wstawiania vi: <Ctrl+t>
  • Tryb polecenia Vi: <Ctrl+t>

Cofnąć

Cofnij poprzednią edycję.

  • Cmd: <Ctrl+z>
  • Emacs: <Ctrl+_>, <Ctrl+x,Ctrl+u>
  • Tryb wstawiania vi: <Ctrl+z>
  • Tryb polecenia Vi: <Ctrl+z>, <u>

Cofnijwszywszy

Cofnij wszystkie poprzednie edycje dla wiersza.

  • Tryb polecenia Vi: <U>

UnixWordRubout

Wyczyść dane wejściowe od początku bieżącego słowa do kursora. Jeśli kursor znajduje się między wyrazami, dane wejściowe są czyszczone od początku poprzedniego wyrazu do kursora. Wyczyszczonego tekstu znajduje się w pierścieniu kill-ring.

  • Emacs: <Ctrl+w>

ValidateAndAcceptLine

Spróbuj wykonać bieżące dane wejściowe. Jeśli bieżące dane wejściowe są niekompletne (na przykład brakuje nawiasu zamykającego, nawiasu lub cudzysłowu), monit kontynuacji jest wyświetlany w następnym wierszu, a funkcja PSReadLine czeka na klucze, aby edytować bieżące dane wejściowe.

  • Emacs: <Ctrl+m>

ViAcceptLine (Linia akceptacji)

Zaakceptuj wiersz i przełącz tryb wstawiania.

  • Tryb polecenia Vi: <Enter>

ViAcceptLineOrExit

Podobnie jak DeleteCharOrExit w trybie Emacs, ale akceptuje wiersz zamiast usuwać znak.

  • Tryb wstawiania vi: <Ctrl+d>
  • Tryb polecenia Vi: <Ctrl+d>

ViAppendLine (Wiersz dołączenia)

Nowy wiersz jest wstawiany poniżej bieżącego wiersza.

  • Tryb polecenia Vi: <o>

ViBackwardDeleteGlob

Usuwa poprzednie słowo, używając tylko białych znaków jako ogranicznika wyrazów.

  • Tryb polecenia Vi: <d,B>

ViBackwardGlob

Przenosi kursor z powrotem na początek poprzedniego wyrazu, używając tylko białych znaków jako ograniczników.

  • Tryb polecenia Vi: <B>

Nawias klamrowy ViDeleteBrace

Znajdź pasujący nawias klamrowy, nawias kwadratowy lub nawias kwadratowy i usuń całą zawartość, w tym nawias klamrowy.

  • Tryb polecenia Vi: <d,%>

ViDeleteEndOfGlob

Usuń na końcu wyrazu.

  • Tryb polecenia Vi: <d,E>

ViDeleteGlob (Wykluczanie plików)

Usuń następny glob (rozdzielany odstępami wyrazów).

  • Tryb polecenia Vi: <d,W>

ViDeleteToBeforeChar

Usuwa do momentu, aż dany znak.

  • Tryb polecenia Vi: <d,t>

ViDeleteToBeforeCharBackward

Usuwa do momentu, aż dany znak.

  • Tryb polecenia Vi: <d,T>

ViDeleteToChar

Usuwa do momentu, aż dany znak.

  • Tryb polecenia Vi: <d,f>

ViDeleteToCharBackward

Usuwa do tyłu do danego znaku.

  • Tryb polecenia Vi: <d,F>

ViInsertAtBegining

Przełącz się do trybu wstawiania i umieść kursor na początku wiersza.

  • Tryb polecenia Vi: <I>

ViInsertAtEnd

Przełącz się do trybu wstawiania i umieść kursor na końcu wiersza.

  • Tryb polecenia Vi: <A>

ViInsertLine (Linia wstawienia

Nowy wiersz jest wstawiany powyżej bieżącego wiersza.

  • Tryb polecenia Vi: <O>

ViInsertWithAppend

Dołącz z bieżącego położenia wiersza.

  • Tryb polecenia Vi: <a>

ViInsertWithDelete

Usuń bieżący znak i przełącz się do trybu wstawiania.

  • Tryb polecenia Vi: <s>

ViJoinLines (Linie ViJoin)

Łączy bieżący wiersz i następny wiersz.

  • Tryb polecenia Vi: <J>

ViReplaceLine (Linia ViReplace)

Wymazywanie całego wiersza polecenia.

  • Tryb polecenia Vi: <S>, <c,c>

ViReplaceToBeforeChar

Zamienia się do danego znaku.

  • Tryb polecenia Vi: <c,t>

ViReplaceToBeforeCharBackward

Zamienia się do danego znaku.

  • Tryb polecenia Vi: <c,T>

ViReplaceToChar

Usuwa do momentu, aż dany znak.

  • Tryb polecenia Vi: <c,f>

ViReplaceToCharBackward (Wstecz)

Zamienia się do danego znaku.

  • Tryb polecenia Vi: <c,F>

ViYankPoczątekLinii

Yank od początku buforu do kursora.

  • Tryb polecenia Vi: <y,0>

ViYankEndOfGlob

Yank z kursora na końcu word(s).

  • Tryb polecenia Vi: <y,E>

ViYankEndOfWord

Yank z kursora na końcu wyrazów.

  • Tryb polecenia Vi: <y,e>

ViYankLeft

Znaki Yank z lewej strony kursora.

  • Tryb polecenia Vi: <y,h>

Linia ViYankLine

Yank cały bufor.

  • Tryb polecenia Vi: <y,y>

ViYankNextGlob

Yank od kursora na początek następnych wyrazów.

  • Tryb polecenia Vi: <y,W>

ViYankNextWord

Yank wyrazy po kursorze.

  • Tryb polecenia Vi: <y,w>

ViYankPercent

Yank do/z pasującego nawiasu klamrowego.

  • Tryb polecenia Vi: <y,%>

ViYankPoprzedniGlob

Yank od początku word(s) do kursora.

  • Tryb polecenia Vi: <y,B>

ViYankPoprzedniSłowo

Yank wyrazy przed kursorem.

  • Tryb polecenia Vi: <y,b>

ViYankRight

Znaki Yank pod i po prawej stronie kursora.

  • Tryb polecenia Vi: <y,l>, <y,Spacebar>

ViYankToEndOfLine

Yank z kursora na końcu buforu.

  • Tryb polecenia Vi: <y,$>

ViYankToFirstChar

Yank od pierwszego znaku innego niż biały znak do kursora.

  • Tryb polecenia Vi: <y,^>

Yank

Dodaj ostatnio zabity tekst do danych wejściowych.

  • Emacs: <Ctrl+y>

YankLastArg powiedział:

Yank ostatni argument z poprzedniej linii historii. Z argumentem, po raz pierwszy jest wywoływany, zachowuje się tak jak YankNthArg. Jeśli wywołano wiele razy, zamiast tego iteruje przez historię, arg ustawia kierunek (ujemny odwraca kierunek).

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

YankNthArg powiedział:

Yank pierwszy argument (po poleceniu) z poprzedniego wiersza historii. Z argumentem, yank nth argument (począwszy od 0), jeśli argument jest ujemny, zacznij od ostatniego argumentu.

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

YankPop (YankPop)

Jeśli poprzednia operacja to Yank lub YankPop, zastąp wcześniej szarpany tekst następnym zabitym tekstem z kill-ring.

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

Funkcje przenoszenia kursora

WsteczChar

Przenieś kursor jeden znak po lewej stronie. Może to spowodować przeniesienie kursora do poprzedniego wiersza danych wejściowych wielowierszowych.

  • Cmd: <LeftArrow>
  • Emacs: <LeftArrow>, <Ctrl+b>
  • Tryb wstawiania vi: <LeftArrow>
  • Tryb polecenia Vi: <LeftArrow>, , <Backspace><h>

Kolejność wstecz

Przenieś kursor z powrotem na początek bieżącego wyrazu lub jeśli między wyrazami, początek poprzedniego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

  • Cmd: <Ctrl+LeftArrow>
  • Emacs: <Alt+b>, <Escape,b>
  • Tryb wstawiania vi: <Ctrl+LeftArrow>
  • Tryb polecenia Vi: <Ctrl+LeftArrow>

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

PoczątekOfLine

Jeśli dane wejściowe mają wiele wierszy, przejdź do początku bieżącego wiersza lub jeśli już na początku wiersza, przejdź do początku danych wejściowych. Jeśli dane wejściowe mają jeden wiersz, przejdź do początku danych wejściowych.

  • Cmd: <Home>
  • Emacs: <Home>, <Ctrl+a>
  • Tryb wstawiania vi: <Home>
  • Tryb polecenia Vi: <Home>

Koniec linii

Jeśli dane wejściowe mają wiele wierszy, przejdź na koniec bieżącego wiersza lub jeśli już na końcu wiersza, przejdź na koniec danych wejściowych. Jeśli dane wejściowe mają jeden wiersz, przejdź na koniec danych wejściowych.

  • Cmd: <End>
  • Emacs: <End>, <Ctrl+e>
  • Tryb wstawiania vi: <End>

ForwardChar (Znak do przodu)

Przenieś kursor jeden znak po prawej stronie. Może to spowodować przeniesienie kursora do następnego wiersza danych wejściowych wielowierszowych.

  • Cmd: <RightArrow>
  • Emacs: <RightArrow>, <Ctrl+f>
  • Tryb wstawiania vi: <RightArrow>
  • Tryb polecenia Vi: <RightArrow>, , <Space><l>

Kolejność przesyłania dalej

Przesuń kursor do przodu na końcu bieżącego słowa lub , jeśli między wyrazami, na końcu następnego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

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

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

Nawias klamrowy GotoBrace

Przejdź do pasującego nawiasu klamrowego, nawiasu lub nawiasu kwadratowego.

  • Cmd: <Ctrl+]>
  • Tryb wstawiania vi: <Ctrl+]>
  • Tryb polecenia Vi: <Ctrl+]>

Idź doKolumny

Przejdź do kolumny wskazanej przez element arg.

  • Tryb polecenia Vi: <|>

GotoFirstNonBlankOfLine

Przenieś kursor do pierwszego niepustego znaku w wierszu.

  • Tryb polecenia Vi: <^>, <_>

MoveToEndOfLine (Przenieś się) do końca linii

Przenieś kursor na koniec danych wejściowych.

  • Tryb polecenia Vi: <End>, <$>

Następna linia

Przenieś kursor do następnego wiersza.

  • Funkcja jest niezwiązana.

Kolejność

Przesuń kursor do przodu na początek następnego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

  • Cmd: <Ctrl+RightArrow>
  • Tryb wstawiania vi: <Ctrl+RightArrow>
  • Tryb polecenia Vi: <Ctrl+RightArrow>

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

NastępnyKoniec słowa

Przesuń kursor do przodu na końcu bieżącego słowa lub , jeśli między wyrazami, na końcu następnego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

  • Tryb polecenia Vi: <e>

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

Poprzedni wiersz

Przenieś kursor do poprzedniego wiersza.

  • Funkcja jest niezwiązana.

ShellBackwardWord (Słowo Powłoka)

Przenieś kursor z powrotem na początek bieżącego wyrazu lub jeśli między wyrazami, początek poprzedniego wyrazu. Granice programu Word są definiowane przez tokeny programu PowerShell.

  • Funkcja jest niezwiązana.

ShellForwardWord (Słowo Shell)

Przesuń kursor do przodu na początek następnego wyrazu. Granice programu Word są definiowane przez tokeny programu PowerShell.

  • Funkcja jest niezwiązana.

PowłokaNastępny Słowo

Przesuń kursor do przodu na końcu bieżącego słowa lub , jeśli między wyrazami, na końcu następnego wyrazu. Granice programu Word są definiowane przez tokeny programu PowerShell.

  • Funkcja jest niezwiązana.

ViBackwardChar

Przenieś kursor jeden znak z lewej strony w trybie edycji Vi. Może to spowodować przeniesienie kursora do poprzedniego wiersza danych wejściowych wielowierszowych.

  • Tryb wstawiania vi: <LeftArrow>
  • Tryb polecenia Vi: <LeftArrow>, , <Backspace><h>

ViBackwardWord

Przenieś kursor z powrotem na początek bieżącego wyrazu lub jeśli między wyrazami, początek poprzedniego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

  • Tryb polecenia Vi: <b>

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

ViForwardChar

Przenieś kursor jeden znak po prawej stronie w trybie edycji Vi. Może to spowodować przeniesienie kursora do następnego wiersza danych wejściowych wielowierszowych.

  • Tryb wstawiania vi: <RightArrow>
  • Tryb polecenia Vi: <RightArrow>, , <Spacebar><l>

ViEndOfGlob

Przenosi kursor na koniec słowa, używając tylko białych znaków jako ograniczników.

  • Tryb polecenia Vi: <E>

ViEndOfPreviousGlob

Przenosi się na koniec poprzedniego wyrazu, używając tylko białych znaków jako ogranicznika wyrazów.

  • Funkcja jest niezwiązana.

Klamra ViGotoBrace

Podobnie jak GotoBrace, ale jest oparty na znakach zamiast opartych na tokenach.

  • Tryb polecenia Vi: <%>

ViNextGlob

Przenosi się do następnego słowa, używając tylko białych znaków jako ogranicznika wyrazów.

  • Tryb polecenia Vi: <W>

ViNastępne Słowo

Przesuń kursor do przodu na początek następnego wyrazu. Granice wyrazów są definiowane przez konfigurowalny zestaw znaków.

  • Tryb polecenia Vi: <w>

Znaki definiujące granice wyrazów są konfigurowane we właściwości WordDelimiters obiektu PSConsoleReadLineOptions. Aby wyświetlić lub zmienić właściwość WordDelimiters, zobacz Get-PSReadLineOption i Set-PSReadLineOption.

Funkcje historii

PoczątekOfHistory

Przejdź do pierwszego elementu w historii.

  • Emacs: <Alt+<>

Wyczyść historię

Czyści historię w programie PSReadLine. Nie ma to wpływu na historię programu PowerShell.

  • Cmd: <Alt+F7>

Koniec historii

Przejdź do ostatniego elementu (bieżące dane wejściowe) w historii.

  • Emacs: <Alt+>>

ForwardSearchHistory (Historia wyszukiwania)

Przeprowadź przyrostowe wyszukiwanie w przyszłości za pomocą historii.

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

HistoriaSearchBackward

Zastąp bieżące dane wejściowe elementem "previous" z historii PSReadLine, który pasuje do znaków między rozpoczęciem a wejściem i kursorem.

  • Cmd: <F8>

HistoriaSearchForward

Zastąp bieżące dane wejściowe elementem "next" z historii PSReadLine, który pasuje do znaków między rozpoczęciem a wejściem i kursorem.

  • Cmd: <Shift+F8>

NastępnyHistory

Zastąp bieżące dane wejściowe elementem "next" z historii PSReadLine.

  • Cmd: <DownArrow>
  • Emacs: <DownArrow>, <Ctrl+n>
  • Tryb wstawiania vi: <DownArrow>
  • Tryb polecenia Vi: <DownArrow>, , <j><+>

Poprzednihistory

Zastąp bieżące dane wejściowe elementem "previous" z historii PSReadLine.

  • Cmd: <UpArrow>
  • Emacs: <UpArrow>, <Ctrl+p>
  • Tryb wstawiania vi: <UpArrow>
  • Tryb polecenia Vi: <UpArrow>, , <k><->

Odwróć historię wyszukiwania

Przeprowadź przyrostowe wyszukiwanie wsteczne za pomocą historii.

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

ViSearchHistoryWstecz

Monituje o ciąg wyszukiwania i inicjuje wyszukiwanie przy użyciu funkcji AcceptLine.

  • Tryb wstawiania vi: <Ctrl+r>
  • Tryb polecenia Vi: </>, <Ctrl+r>

Funkcje uzupełniania

Ukończyć

Spróbuj wykonać uzupełnianie tekstu otaczającego kursor. Jeśli istnieje wiele możliwych uzupełnień, najdłuższy jednoznaczny prefiks jest używany do ukończenia. Jeśli próbujesz ukończyć najdłuższe jednoznaczne zakończenie, zostanie wyświetlona lista możliwych uzupełniania.

  • Emacs: <Tab>

Spróbuj wykonać uzupełnianie tekstu otaczającego kursor. Jeśli istnieje wiele możliwych uzupełnień, najdłuższy jednoznaczny prefiks jest używany do ukończenia. Jeśli próbujesz ukończyć najdłuższe jednoznaczne zakończenie, zostanie wyświetlona lista możliwych uzupełniania.

  • Polecenie polecenia: <Ctrl+@>, <Ctrl+Spacebar>
  • Emacs: <Ctrl+Spacebar>

Możliwe uzupełnianie

Wyświetl listę możliwych uzupełnień.

  • Emacs: <Alt+=>
  • Tryb wstawiania vi: <Ctrl+Spacebar>
  • Tryb polecenia Vi: <Ctrl+Spacebar>

ZakładkaUkończonyNastępny

Spróbuj ukończyć tekst wokół kursora z następnym dostępnym ukończeniem.

  • Cmd: <Tab>
  • Tryb polecenia Vi: <Tab>

TabCompletePoprzedni

Spróbuj ukończyć tekst otaczający kursor z poprzednim dostępnym uzupełnianiem.

  • Cmd: <Shift+Tab>
  • Tryb polecenia Vi: <Shift+Tab>

ViTabCompleteNastępny

Kończy bieżącą grupę edycji w razie potrzeby i wywołuje metodę TabCompleteNext.

  • Tryb wstawiania vi: <Tab>

ViTabCompletePoprzedni

Kończy bieżącą grupę edycji, jeśli jest to konieczne, i wywołuje element TabCompletePrevious.

  • Tryb wstawiania vi: <Shift+Tab>

Różne funkcje

AkceptujęNastępnySugestiaSłowo

Zaakceptuj następne słowo w tekście lub wybranej sugestii.

  • Funkcja jest niezwiązana.

AkceptujęSugestia

Zaakceptuj bieżącą sugestię w tekście lub wybranej.

  • Funkcja jest niezwiązana.

Zrzut ekranu

Rozpocznij przechwytywanie ekranu interakcyjnego — strzałki w górę/w dół wybierają linie, wprowadź tekst zaznaczony do schowka jako tekst i kod HTML.

  • Funkcja jest niezwiązana.

Wyczyść ekran

Wyczyść ekran i narysuj bieżący wiersz w górnej części ekranu.

  • Cmd: <Ctrl+l>
  • Emacs: <Ctrl+l>
  • Tryb wstawiania vi: <Ctrl+l>
  • Tryb polecenia Vi: <Ctrl+l>

Argument cyfrowy

Uruchom nowy argument cyfry, aby przekazać go do innych funkcji. Można go użyć jako mnożnika dla następnej funkcji wywoływanej przez platformę keypress. Na przykład naciśnięcie <Alt+1><Alt+0>ustawia wartość digit-argument na 10. Następnie naciśnięcie # powoduje wysłanie 10 # znaków (##########) do wiersza wejściowego. Podobnie możesz użyć tej funkcji z innymi operacjami, takimi jak <Delete> lub 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+->
  • Tryb polecenia Vi: <0>, <1>, <2>, <3><4><5><6><7><8><9>

InvokePrompt

Usuwa bieżący monit i wywołuje funkcję monitu w celu ponownego redysponowania monitu. Przydatne w przypadku niestandardowych procedur obsługi kluczy, które zmieniają stan. Na przykład zmień bieżący katalog.

  • Funkcja jest niezwiązana.

PrzewińWyświetlaczDół

Przewiń ekran w dół o jeden ekran.

  • Cmd: <PageDown>
  • Emacs: <PageDown>

ScrollDisplayDownLine (PrzewijanieWyświetlacz w dół)

Przewiń ekran w dół o jeden wiersz.

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

ScrollDisplayToCursor (PrzewijanieWyświetlaczDokursora)

Przewiń ekran do kursora.

  • Emacs: <Ctrl+End>

ScrollDisplayGóra

Przewiń ekran do góry.

  • Emacs: <Ctrl+Home>

ScrollDisplayUp (PrzewińWyświetlaczGóra)

Przewiń ekran w górę.

  • Cmd: <PageUp>
  • Emacs: <PageUp>

ScrollDisplayUpLine (PrzewijanieWyświetlaczWiersz)

Przewiń ekran w górę o jeden wiersz.

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

Samodzielna wstawka

Wstaw klucz.

  • Funkcja jest niezwiązana.

ShowKeyBindings (Pokazywanie powiązań)

Pokaż wszystkie powiązane klucze.

  • Cmd: <Ctrl+Alt+?>
  • Emacs: <Ctrl+Alt+?>
  • Tryb wstawiania vi: <Ctrl+Alt+?>

Tryb ViCommandMode

Przełącz bieżący tryb operacyjny z Vi-Insert na Vi-Command.

  • Tryb wstawiania vi: <Escape>

ViDigitArgumentInChord

Rozpocznij nowy argument cyfry, aby przekazać do innych funkcji w jednym z akordów vi.

  • Funkcja jest niezwiązana.

ViEditWizualnie

Edytuj wiersz polecenia w edytorze tekstów określonym przez $env:EDITOR lub $env:VISUAL.

  • Emacs: <Ctrl+x,Ctrl+e>
  • Tryb polecenia Vi: <v>

ViExit (Wyjście z sieci)

Zamyka powłokę.

  • Funkcja jest niezwiązana.

Tryb ViInsertMode

Przełącz się do trybu wstawiania.

  • Tryb polecenia Vi: <i>

Co jest kluczem

Przeczytaj klucz i powiedz mi, z czym jest powiązany klucz.

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

Funkcje wyboru

ExchangePointAndMark (Punkt wymiany)

Kursor jest umieszczany w lokalizacji znacznika, a znacznik jest przenoszony do lokalizacji kursora.

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

Wybierzwszystkie

Wybierz cały wiersz.

  • Cmd: <Ctrl+a>

Wybierz pozycjęBackwardChar

Dostosuj bieżące zaznaczenie, aby uwzględnić poprzedni znak.

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

Wybierz pozycjęBackwardsLine

Dostosuj bieżące zaznaczenie, aby uwzględnić kursor na początku wiersza.

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

Wybierz pozycjęBackwardWord

Dostosuj bieżące zaznaczenie, aby uwzględnić poprzednie słowo.

  • Cmd: <Shift+Ctrl+LeftArrow>
  • Emacs: <Alt+B>

Wybierz pozycjęForwardChar

Dostosuj bieżące zaznaczenie, aby uwzględnić następny znak.

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

Wybierz pozycjęForwardWord

Dostosuj bieżące zaznaczenie, aby uwzględnić następny wyraz przy użyciu elementu ForwardWord.

  • Emacs: <Alt+F>

Wybierz linię

Dostosuj bieżące zaznaczenie, aby uwzględnić kursor na końcu wiersza.

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

Wybierz pozycjęDalejWord

Dostosuj bieżące zaznaczenie, aby uwzględnić następny wyraz.

  • Cmd: <Shift+Ctrl+RightArrow>

Wybierz pozycjęShellBackwardWord

Dostosuj bieżące zaznaczenie, aby uwzględnić poprzednie słowo za pomocą polecenia ShellBackwardWord.

  • Funkcja jest niezwiązana.

Wybierz pozycjęShellForwardWord

Dostosuj bieżące zaznaczenie, aby uwzględnić następny wyraz za pomocą polecenia ShellForwardWord.

  • Funkcja jest niezwiązana.

Wybierz kolejno pozycjeShellDalejWord

Dostosuj bieżące zaznaczenie, aby uwzględnić następny wyraz za pomocą polecenia ShellNextWord.

  • Funkcja jest niezwiązana.

Znacznik SetMark

Oznacz bieżącą lokalizację kursora do użycia w kolejnym poleceniu edycji.

  • Emacs: <Ctrl+@>

Funkcje predykcyjne funkcji IntelliSense

Nuta

Aby korzystać z tych funkcji, należy włączyć funkcję IntelliSense predykcyjną.

ZaakceptujNastępnyWordSugestia

Akceptuje następne słowo sugestii wbudowanej z predykcyjnej funkcji IntelliSense. Tę funkcję można powiązać z Ctrl+F , uruchamiając następujące polecenie.

Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord

AkceptujęSugestia

Akceptuje bieżącą sugestię wbudowaną z funkcji IntelliSense predykcyjnej, naciskając RightArrow, gdy kursor znajduje się na końcu bieżącego wiersza.

Funkcje wyszukiwania

Wyszukiwanie znaków

Odczytaj znak i wyszukaj dalej następne wystąpienie tego znaku. Jeśli zostanie określony argument, wyszukaj do przodu (lub wstecz, jeśli ujemne) dla nth wystąpienia.

  • Cmd: <F3>
  • Emacs: <Ctrl+]>
  • Tryb wstawiania vi: <F3>
  • Tryb polecenia Vi: <F3>

CharacterSearchBackward (Wyszukiwanie postaciWstecz)

Odczytaj znak i wyszukaj do tyłu następne wystąpienie tego znaku. Jeśli argument jest określony, wyszukaj do tyłu (lub do przodu, jeśli ujemne) dla nth wystąpienia.

  • Cmd: <Shift+F3>
  • Emacs: <Ctrl+Alt+]>
  • Tryb wstawiania vi: <Shift+F3>
  • Tryb polecenia Vi: <Shift+F3>

RepeatLastCharSearch (Powtórz OstatniZnak)

Powtórz ostatnie zarejestrowane wyszukiwanie znaków.

  • Tryb polecenia Vi: <;>

RepeatLastCharSearchBackwards

Powtórz ostatnie zarejestrowane wyszukiwanie znaków, ale w przeciwnym kierunku.

  • Tryb polecenia Vi: <,>

RepeatSearch (Powtarzaj)

Powtórz ostatnie wyszukiwanie w tym samym kierunku co poprzednio.

  • Tryb polecenia Vi: <n>

RepeatSearchBackward (PowtarzanieSzukajWstecz)

Powtórz ostatnie wyszukiwanie w tym samym kierunku co poprzednio.

  • Tryb polecenia Vi: <N>

Znak wyszukiwania

Odczytaj następny znak, a następnie znajdź go, przechodząc do przodu, a następnie cofając znak. Dotyczy to funkcji "t".

  • Tryb polecenia Vi: <f>

SearchCharBackward (Znak wyszukiwaniaWstecz)

Odczytaj następny znak, a następnie znajdź go, przechodząc do tyłu, a następnie cofając znak. Dotyczy to funkcji "T".

  • Tryb polecenia Vi: <F>

SearchCharBackwardWithBackoff

Odczytaj następny znak, a następnie znajdź go, przechodząc do tyłu, a następnie cofając znak. Dotyczy to funkcji "T".

  • Tryb polecenia Vi: <T>

SearchCharWithBackoff

Odczytaj następny znak, a następnie znajdź go, przechodząc do przodu, a następnie cofając znak. Dotyczy to funkcji "t".

  • Tryb polecenia Vi: <t>

Szukaj do przodu

Monituje o ciąg wyszukiwania i inicjuje wyszukiwanie przy użyciu funkcji AcceptLine.

  • Tryb wstawiania vi: <Ctrl+s>
  • Tryb polecenia Vi: <?>, <Ctrl+s>

Powiązania kluczy niestandardowych

PSReadLine obsługuje niestandardowe powiązania przy użyciu polecenia cmdlet Set-PSReadLineKeyHandler. Większość niestandardowych powiązań kluczy wywołuje jedną z powyższych funkcji, na przykład

Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward

Możesz powiązać element ScriptBlock z kluczem. ScriptBlock może zrobić prawie wszystko, co chcesz. Oto kilka przydatnych przykładów:

  • edytowanie wiersza polecenia
  • otwieranie nowego okna (na przykład pomoc)
  • zmienianie katalogów bez zmieniania wiersza polecenia

Funkcja ScriptBlock otrzymuje dwa argumenty:

  • $key — obiekt [ConsoleKeyInfo] kluczem, który wyzwolił powiązanie niestandardowe. Jeśli powiążesz ten sam element ScriptBlock z wieloma kluczami i musisz wykonać różne akcje w zależności od klucza, możesz sprawdzić $key. Wiele powiązań niestandardowych ignoruje ten argument.

  • $arg — dowolny argument. Najczęściej jest to argument całkowity, który użytkownik przekazuje z powiązań kluczy DigitArgument. Jeśli powiązanie nie akceptuje argumentów, warto zignorować ten argument.

Przyjrzyjmy się przykładowi, który dodaje wiersz polecenia do historii bez jego wykonywania. Jest to przydatne, gdy zdajesz sobie sprawę, że nie pamiętasz czegoś zrobić, ale nie chcesz ponownie wprowadzać wprowadzonego wiersza polecenia.

$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

Przykłady można zobaczyć o wiele więcej w pliku SamplePSReadLineProfile.ps1 , który jest zainstalowany w folderze modułu PSReadLine.

Większość powiązań kluczy używa niektórych funkcji pomocnika do edytowania wiersza polecenia. Te interfejsy API są udokumentowane w następnej sekcji.

Interfejsy API obsługi powiązań kluczy niestandardowych

Następujące funkcje są publiczne w programie Microsoft.PowerShell.PSConsoleReadLine, ale nie mogą być bezpośrednio powiązane z kluczem. Większość z tych elementów jest przydatna w powiązaniach kluczy niestandardowych.

void AddToHistory(string command)

Dodaj wiersz polecenia do historii bez jego wykonywania.

void ClearKillRing()

Wyczyść pierścień kill-ring. Jest to najczęściej używane do testowania.

void Delete(int start, int length)

Usuń znaki długości od początku. Ta operacja obsługuje cofanie/ponowne wykonanie.

void Ding()

Wykonaj akcję Ding na podstawie preferencji użytkowników.

void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
  [ref] ParseError[] parseErrors, [ref] int cursor)

Te dwie funkcje pobierają przydatne informacje o bieżącym stanie buforu wejściowego. Pierwszy jest częściej używany w prostych przypadkach. Drugi jest używany, jeśli powiązanie wykonuje coś bardziej zaawansowanego za pomocą narzędzia Ast.

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

IEnumerable[Microsoft.PowerShell.KeyHandler]
  GetKeyHandlers(string[] Chord)

Te dwie funkcje są używane przez Get-PSReadLineKeyHandlerprogram . Pierwszy służy do pobierania wszystkich powiązań kluczy. Drugi służy do pobierania określonych powiązań kluczy.

Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()

Ta funkcja jest używana przez polecenie Get-PSReadLineOption i prawdopodobnie nie jest zbyt przydatna w powiązaniu klucza niestandardowego.

void GetSelectionState([ref] int start, [ref] int length)

Jeśli w wierszu polecenia nie ma wyboru, funkcja zwraca -1 zarówno w początku, jak i długości. Jeśli w wierszu polecenia jest zaznaczony wybór, zwracany jest początek i długość zaznaczenia.

void Insert(char c)
void Insert(string s)

Wstaw znak lub ciąg na kursorze. Ta operacja obsługuje cofanie/ponowne wykonanie.

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

Jest to główny punkt wejścia do elementu PSReadLine. Nie obsługuje rekursji, dlatego nie jest przydatna w powiązaniu klucza niestandardowego.

void RemoveKeyHandler(string[] key)

Ta funkcja jest używana przez program Remove-PSReadLineKeyHandler i prawdopodobnie nie jest zbyt przydatna w powiązaniu klucza niestandardowego.

void Replace(int start, int length, string replacement)

Zastąp część danych wejściowych. Ta operacja obsługuje cofanie/ponowne wykonanie. Jest to preferowane w przypadku usuwania, a następnie Wstaw, ponieważ jest traktowane jako pojedyncza akcja do cofnięcia.

void SetCursorPosition(int cursor)

Przenieś kursor do danego przesunięcia. Ruch kursora nie jest śledzony w celu cofnięcia.

void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)

Ta funkcja jest metodą pomocnika używaną przez polecenie cmdlet Set-PSReadLineOption, ale może być przydatna dla niestandardowego powiązania klucza, które chce tymczasowo zmienić ustawienie.

bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
  int defaultNumericArg)

Ta metoda pomocnika jest używana w przypadku powiązań niestandardowych, które honoruje funkcję DigitArgument. Typowe wywołanie wygląda następująco:

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

Notatki

Historia poleceń

Funkcja PSReadLine obsługuje plik historii zawierający wszystkie polecenia i dane wprowadzone z wiersza polecenia. Plik historii to plik o nazwie $($host.Name)_history.txt. W systemach Windows plik historii jest przechowywany w $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine. W systemach innych niż Windows pliki historii są przechowywane w lub $env:XDG_DATA_HOME/powershell/PSReadLine$env:HOME/.local/share/powershell/PSReadLine.

Historia może zawierać poufne dane, w tym hasła. Funkcja PSReadLine próbuje odfiltrować poufne informacje. Wszystkie wiersze polecenia zawierające następujące ciągi nie są zapisywane w pliku historii.

  • hasło
  • asplaintext (tekst jawny)
  • kod przedpłaty
  • klucz API
  • klucz tajny

Informacje zwrotne i wkład w PSReadLine

PSReadLine w witrynie GitHub

Możesz przesłać żądanie ściągnięcia lub przesłać opinię na stronie usługi GitHub.

Zobacz też

  • Element PSReadLine jest silnie pod wpływem biblioteki gnu readline.