我正在寻找一个可以使用的设置,以便当我按下向上箭头时,zsh显示我最近编辑的命令。问题是,我只想要唯一的命令。当前,如果我键入echo "hello world"
50次,则必须在输入echo命令之前按向上箭头50次以获取我使用的命令。至少可以说这很烦人。
对我需要启用/禁用什么设置有任何想法?
我正在寻找一个可以使用的设置,以便当我按下向上箭头时,zsh显示我最近编辑的命令。问题是,我只想要唯一的命令。当前,如果我键入echo "hello world"
50次,则必须在输入echo命令之前按向上箭头50次以获取我使用的命令。至少可以说这很烦人。
对我需要启用/禁用什么设置有任何想法?
Answers:
HIST_IGNORE_ALL_DUPS
会丢弃该命令的所有先前匹配项,将历史记录用作以后的记录时会造成混淆。
可能HIST_IGNORE_DUPS
甚至更适合您的需求HIST_FIND_NO_DUPS
。
见man zshoptions | less -p History
:
HIST_FIND_NO_DUPS:在行编辑器中搜索历史记录条目时,即使重复项不是连续的,也不要显示先前找到的行的重复项。
HIST_IGNORE_ALL_DUPS:如果添加到历史记录列表的新命令行与较旧的命令重复,则较旧的命令将从列表中删除(即使它不是先前的事件)。
HIST_IGNORE_DUPS:如果命令行与上一个事件重复,则不要在历史列表中输入命令行。
我看不到有什么方法可以真正做到这一点,但是,如果您设置了该HIST_IGNORE_ALL_DUPS
选项,则历史中仅会保留命令的最新版本,从而产生相同的效果。
有关man zshoptions
详细信息,请参见。