相当于 PowerShell 中 bash 的 Ctrl-r

v.o*_*dou 22 keyboard-shortcuts powershell bash history

有没有人知道在 Windows PowerShell 中具有非常有用的 bash [Ctrl-r](和[Ctrl-o])的向后命令搜索功能的方法?

C-r是一种更强大的arrow up历史操作,它就像 emacs 的一样C-r,它在您之前输入的命令中向后搜索。然后C-o执行该命令并立即将下一个命令放在该行之后。这样您就可以有效地重复传递的一系列命令。它还会查找保存的历史记录,而不是会话历史记录。(~/.bash_history文件)。这是无限有用的。

谢谢。

ps:作为奖励,不按周期工作的选项卡完成也会很棒。

小智 17

键入命令的首字母并按 F8

或者,您可以按 F7并键入首字母。

更多详情:http : //technet.microsoft.com/en-us/magazine/ff678293.aspx


Lan*_*rix 8

WMF 5.0 RTM(包括Windows PowerShell 5)现在支持与 bash 相同的反向命令搜索功能CTRL+R。我一直在Windows 10周年纪念版中使用这个,我的bash肌肉记忆非常愉快。

支持实际上来自 PowerShell 模块PSReadLine,我看到在问题的一些评论中提到了它。好消息是 PSReadLine 现在似乎包含在基本 WMF 5.0 安装中,至少它在 Windows 10 上。

如果您运行的是 PowerShell 3 或更高版本,您还可以安装 PSReadLine并获得历史搜索功能。

注意:我还没有找到如何在 ISE 中使其工作,因为CTRL+R它映射到其他内容(显示/隐藏脚本窗格)。


noh*_*wnd 5

要操作您的历史记录,您可以使用 history cmdlet,通过以下命令列出它们:

Get-Command *-history
Run Code Online (Sandbox Code Playgroud)

搜索你的历史是这样完成的,随意制作一个函数来缩短它:

Get-history | Select-String "command"

function f ($Name) { Get-history | Select-String $name }
Run Code Online (Sandbox Code Playgroud)