Zsh:使向上箭头跳过相同的命令


10

在大多数Unix Shell中,向上箭头键替换历史记录中上一个命令正在编辑的命令。使用命令可以查看历史记录history

可以多次按下以爬上历史记录。

我的问题是:

我如何配置我的外壳程序,以便跳过所有与当前命令相同的命令?

确实,我经常make连续输入很多。当我想再次输入(或稍作修改)一个较旧的命令时,我不得不打很多次才能跳过所有make命令。

我知道,这绝不是提高外壳生产率的唯一秘诀。

奖金:

  • 提供适用于Bash shell的配置。
  • 保留历史记录(知道您连续多次键入命令会很有用)

Answers:


15

对于zsh,将其放在您的配置中:

setopt histignoredups

它会做什么,它将在搜索过程中忽略重复的历史记录条目

bash的等效设置为

HISTCONTROL=$HISTCONTROL:ignoredups

1
谢谢,setopt histignoredups做这份工作,但也抑制了历史的重复
Gabriel Devillers

对,就是这样。在大多数情况下,这就是您想要的。当您看到建议并且不想要它时,您就不想再次提出该建议。它不会从历史记录中删除重复项,顺便说一句。
马丁·苏吉亚托

您是对的,但我的意思是:将来的重复项不会添加到历史记录中。
加布里埃尔·德维勒斯

它们被添加,否则histexpiredupsfirst我也使用的另一个选项将没有意义。它使重复项在查看年龄之前先过期。(我在这里谈论的是zsh)
Martin Sugioarto
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.