fragen stichworte

Powershell-Äquivalent von Strg + R?

In bash kann ich Strg + R ausführen und mit der Eingabe eines Befehls beginnen, damit er meine Historie durchsucht.

Wie mache ich das in Powershell?

Gibt es eine Möglichkeit, einen Schlüssel an etwas Ähnliches zu binden?

function GH($str) {get-history | select-string $str}

Aber ich würde den String für jede Char-Eingabe erneut lesen oder entfernen müssen, um passende Befehle wie auszugeben. Strg + R macht das.

Ist das möglich?

antworten

Sie können dies beheben, indem Sie das Modul PSReadLine übernehmen.

Sehen Sie einen Artikel über den Hey, Scripting Guy! Blog zu dieser bash inspirierte Readline-Implementierung für PowerShell.

Insbesondere die Verwendung von Strg + Alt + (Shift) +? um alle Tastenkombinationen anzuzeigen.

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.0.10240.16384
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   10.0.10240.16384
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3

Strg + R

PS C:\> Get-Module -ListAvailable
bck-i-search: mo_

Strg + Alt + (Shift) + S

Key                  Function                 Description
---                  --------                 -----------
Ctrl+r               ReverseSearchHistory     Search history backwards interactively
Ctrl+s               ForwardSearchHistory     Search history forward interactively

Kurz gesagt: Installieren Sie dieses Modul entweder manuell oder aktualisieren Sie auf Windows PowerShell v5.

Geben Sie Ihren Suchbegriff ein und drücken Sie dann F8, dies wird Ihren Befehlsverlauf durchsuchen.

Es gibt eine sehr nützliche Liste von PowerShell-Verknüpfungen hier.

Es gibt auch eine grafische Suche unter der Taste F7. Wenn sie gedrückt wird, wird ein Popup angezeigt, das Sie scrollen können, um nach einem Befehl zu suchen, der früher ausgeführt wurde. Drücken Sie die Eingabetaste, während der Mauszeiger über die Linie bewegt wird, um sie erneut auszuführen.

Ich weiß nicht, wann dies hinzugefügt wurde, aber bei meinem nicht angepassten, aktualisierten Windows 10 ist es eingebaut. Drücken Sie Strg + R für die Rückwärtsprotokollsuche.

enter image description here