Zsh 我怎样才能扭转历史?

Zsh 我怎样才能扭转历史?,zsh,Zsh,我是一个unix上瘾者,我使用的许多机器(在家里和工作中)现在都很快通过了10000个命令。我喜欢让我发出的所有命令随时可用,这就是为什么我将上限设置为100000个条目的原因,但在我必须编写时,回忆最近的特定条目会变得单调乏味!12524在外壳中展开该外壳 当然,我可以使用快捷方式来调用最后一个命令,甚至是最后第十个命令,但这是不可能的,因此90%的时间我都在做类似于历史| grep“configure--prefix”(用于查看我如何配置最后一个命令等)的事情,然后使用返回的任何历史索引 我

我是一个unix上瘾者,我使用的许多机器(在家里和工作中)现在都很快通过了10000个命令。我喜欢让我发出的所有命令随时可用,这就是为什么我将上限设置为100000个条目的原因,但在我必须编写
时,回忆最近的特定条目会变得单调乏味!12524
在外壳中展开该外壳

当然,我可以使用快捷方式来调用最后一个命令,甚至是最后第十个命令,但这是不可能的,因此90%的时间我都在做类似于
历史| grep“configure--prefix”(用于查看我如何配置最后一个命令等)的事情,然后使用返回的任何历史索引


我是否可以将其反转,使command#10000对应于一万个命令之前的命令,并使command#1成为最后一个命令

另外,我要提到的是,非zsh解决方案并不能完全满足stuff
的扩展!12524
例如,可以通过按tab键进行扩展,这非常有帮助。我相信有更多疯狂有趣的事情可以做,只扩展最后一个arg,或者扩展除第一个arg以外的所有arg,等等。我想有一天我会记住这些。我相当肯定没有内置的方法来做这件事。可以想象,您可以在
preexec
期间编写一个脚本来重新排序
~/.zsh_历史记录
,但我可以看出,在不破坏历史记录的情况下实现它是很麻烦的。您是否使用了历史忽略重复?你可能也有很多历史上你不关心的命令(例如,在代码> cd…./Cube >上的变体)——一个定制的<代码> Cull历史()/Cux>函数可以在不影响你每天使用的命令的情况下清理一点。你可以考虑的另一个选项是更好的历史搜索和重新运行。从
history | grep foo
中获取命令条目号,然后重新运行该命令并不难封装到函数中。[我不确定
zsh
有什么历史搜索功能;它在我学习的待办事项列表中]。您不只是使用历史完成功能有什么原因吗?查看一些有用的键绑定以使用上下箭头。