zsh
从现在开始我一直很高兴使用,并且我对我的历史记录设置非常满意,这些设置是:
# Write to history immediately
setopt inc_append_history
# History shared among terminals
setopt share_history
# Save extended info in history
setopt extended_history
# Ignore duplicates
setopt hist_ignoredups
但是经常发生的是,我需要在某些特定目录中使用特定命令。例如,当我在时,~/my_project
我通常调用make target1 && ./run1
,但是当我在时,~/second_project
我通常需要make target2 && cat foobar | ./run2
。
那就是:不同的目录,但是相似的命令。
因此,我通常会cd ~/my_project
键入make
并在历史记录中向后搜索,直到找到所需的内容为止。但是,如果碰巧我在其中工作过second_project
,那么在搜索历史记录时,我会发现一些我不需要的命令。
因此,我的问题是:zsh是否存在插件/设置/功能,以便在历史记录中搜索时,首先显示在当前目录中调用的命令?
理想情况下,所有其他匹配历史记录命令都将出现在这些命令之后,可以选择指定优先级元素的最大数量。
我会尝试自己编写类似的内容,但是我仍然不知道如何编写自定义zsh插件,如何处理历史记录等等。