在bash中,我可以执行Ctrl R并开始输入命令以使其搜索我的历史记录.
@H_403_1@我如何在PowerShell中做到这一点?
@H_403_1@有没有办法将键绑定到类似的东西?
function GH($str) {get-history | select-string $str}@H_403_1@但我需要重新读取每个char输入的字符串或删除输出匹配命令,如Ctrl R. @H_403_1@这可能吗?
您可以通过采用
PSReadLine模块来解决此问题.
@H_403_1@有关PowerShell的这个bash启发的readline实现,请参阅article on the Hey,Scripting Guy! blog.
@H_403_1@特别是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@H_403_1@Ctrl R
PS C:\> Get-Module -ListAvailable bck-i-search: mo_@H_403_1@按Ctrl Alt(Shift)S
Key Function Description --- -------- ----------- Ctrl+r ReverseSearchHistory Search history backwards interactively Ctrl+s ForwardSearchHistory Search history forward interactively@H_403_1@简而言之:手动安装此模块或升级到Windows PowerShell v5.