Windows

Powershell 相當於 Ctrl+R?

  • December 16, 2018

在 bash 中,我可以執行Ctrl+R並開始輸入命令,讓它搜尋我的歷史記錄。

我如何在PowerShell中做到這一點?

有沒有辦法將鍵綁定到類似的東西?

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

但是我需要重新讀取每個 char 輸入的字元串,或者刪除字元串以輸出匹配的命令,如Ctrl+R那樣。

這可能嗎?

您可以通過採用PSReadLine模組來解決此問題。

請參閱有關“嘿,腳本專家!”的文章 關於這個 bash 啟發的 PowerShell 的 readline 實現的部落格。

特別是Ctrl++ Alt( Shift)+的用法?顯示所有鍵綁定。

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

Ctrl+R

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

Ctrl+Alt+(Shift)+S

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

簡而言之:要麼手動安裝此模組,要麼升級到 Windows PowerShell v5。

引用自:https://serverfault.com/questions/762167