3
  HIST_FIND_NO_DUPS
         When searching for history entries in the line editor, do not display duplicates of a line previously found, even if  the  duplicates  are  not contiguous.

Однако, когда я несколько раз использую Ctrl-p, появляется та же команда.

$ ls
$ pwd
$ ls
$ <Ctrl-p> => ls 
  <Ctrl-p> => pwd
  <Ctrl-p> => ls  again!

zsh 5.0.5 (x86_64-apple-darwin14.0)

1 ответ1

2

hist_find_no_dups не гарантирует, что все строки будут уникальными, возможно, вы выполняете поиск по повторяющейся паре строк.

Если вы не хотите иметь повторяющиеся строки, посмотрите в hist_ignore_all_dups . Это предотвратит появление повторяющихся команд в файле истории, но может привести к неожиданным пробелам, о которых следует знать, если вы повторно используете части своей истории.

Другой вариант, чтобы посмотреть на это - hist_ignore_dups . Это предотвращает сохранение последовательных дубликатов.

И наконец, что не менее важно , есть hist_save_no_dups (игнорирует дубликаты при записи файла истории) и hist_expire_dups_first , которые начнут удалять повторяющиеся команды, когда будет достигнут предел $HISTSIZE .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .