Windows
Powershell 相當於 Ctrl+R?
在 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。