Powershell相当于Ctrl + R?

在bash中,我可以按Ctrl + R并开始键入一个命令,让它search我的历史。

我如何在PowerShell中做到这一点?

有没有办法将键绑定到类似的东西?

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

但我需要重新读取每个字符input或删除输出匹配的命令,如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。

input您的search字词,然后按F8,这将search您的命令历史logging。

这里有一个非常有用的PowerShell快捷方式列表。