Powershell 相当于 Ctrl+R?

red*_*888 21 windows powershell shell powershell-v3.0

在 bash 中,我可以执行Ctrl+R并开始输入命令来搜索我的历史记录。

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

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

function GH($str) {get-history | select-string $str}
Run Code Online (Sandbox Code Playgroud)

但是我需要重新读取每个字符输入的字符串或删除以输出匹配命令,例如Ctrl+ R

这可能吗?

小智 12

您可以通过采用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
Run Code Online (Sandbox Code Playgroud)

Ctrl+R

PS C:\> Get-Module -ListAvailable
bck-i-search: mo_
Run Code Online (Sandbox Code Playgroud)

Ctrl+ Alt+( Shift)+S

Key                  Function                 Description
---                  --------                 -----------
Ctrl+r               ReverseSearchHistory     Search history backwards interactively
Ctrl+s               ForwardSearchHistory     Search history forward interactively
Run Code Online (Sandbox Code Playgroud)

简而言之:手动安装此模块或升级到 Windows PowerShell v5。


Sam*_*gan 6

输入您的搜索词,然后按 F8,这将搜索您的命令历史记录。

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


小智 5

我不知道这是什么时候添加的,但在我的非定制、更新的 Windows 10 上,它是内置的。按 ctrl+r 进行反向历史搜索,效果很好。

在此处输入图片说明