【问题标题】:PowerShell history of commandsPowerShell 命令的历史记录
【发布时间】:2013-08-17 05:16:20
【问题描述】:

我交替使用 Bash 和 PowerShell,当我无法在我的 PowerShell 控制台上执行 Ctrl+R 时,我觉得这很烦人。

是否有插件/替代命令可以帮助我在 Bash 和 PowerShell 之间无缝切换?

更新(2018 年)

PowerShell 现在支持 Ctrl + R。请参阅this answer。

【问题讨论】:

标签: powershell


【解决方案1】:

另一个命令是输入例如#ls 并按Tab 按住Tab 键循环浏览所有以ls 开头的命令历史记录。

在以前的版本中,您可以键入 ls 然后 F8 以匹配历史记录。按住 F8 可循环播放多个匹配项。

注意:ls 在这种情况下只是一个占位符。用你想要的任何命令替换它。

【讨论】:

  • 谢谢,但这是否仅适用于当前会话?当我关闭 PS 控制台并重新打开时,它似乎不起作用..
  • 有一些技术可以使用 Get-History | 保存历史记录。 Export-CliXml $home\pshist.clixml 和 PowerShell EngineExiting 事件。然后,您可以使用 Import-CliXml $home\pshst.clixml | 重新加载该历史记录。添加历史。但随着时间的推移,这可能会变得相当大,因此您可能希望限制保存的历史记录的大小。
  • 太棒了,有帮助。谢谢!
【解决方案2】:

看看 PSReadline:https://github.com/lzybkr/PSReadLine

此模块支持emacs模式下的交互式历史搜索,如果您愿意,可以在Windows模式下将Ctrl+R绑定到ReverseHistorySearch。

PSReadline 的长期目标是让从 bash 切换到 PowerShell w.r.t 变得更加容易。命令行编辑,同时提供 PowerShell 体验,例如制表符补全。

【讨论】:

    【解决方案3】:

    截至今天,PowerShell 支持 Ctrl + R 快捷方式。

    在 PowerShell 控制台中只需按 Ctrl + R 即可开始输入您之前运行过的命令的任何部分。


    或者:

    开始键入您之前运行过的命令的一部分,然后按或点击 F8。

    按住 F8 可循环执行类似的命令。

    【讨论】:

    • 请注意,这不适用于 PowerShell ISE,仅适用于普通(无聊)PowerShell。
    猜你喜欢
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2016-02-15
    • 2016-08-27
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多