Во zsh
, я хочу иметь неограниченную историю. Я установил HISTSIZE=
, который работает в bash
. Теперь я импортирую старую историю
mv old_history .history
который довольно большой
wc -l .history
43562 .history
Если я сейчас закроюсь и начну zsh
снова, я увижу
wc -l .history
32234 .history
Разве я не могу иметь неограниченную историю в zsh
?
zsh
command-history
pfnuesel
источник
источник
Ответы:
Существует предел и возможности ваших машин.
Из списка рассылки ZSH :
Что объясняет решение Gentoo:
История не будет сохранена без следующей команды:
Чтобы история не записывала повторяющиеся записи (например, ls -l, введенный много раз в течение одного сеанса оболочки), вы можете установить параметр hist_ignore_all_dups:
Полезный прием для предотвращения записи отдельных записей в историю, если им предшествует хотя бы один пробел.
источник
50000
, но это не решит мою проблему.Вам нужно установить оба
HISTSIZE
иSAVEHIST
. Они указывают, сколько строк истории следует хранить в памяти и сколько строк хранить в файле истории, соответственно.Я не думаю, что у zsh есть параметр, который означает «бесконечный», но для всех практических целей один миллиард бесконечен, оставаясь машинно-представимым на 32-битных машинах.
источник
У меня была проблема с ограничением истории,
10000
пока я не понял, что oh-my-zsh устанавливает свои собственные значенияHISTSIZE
иSAVEHIST
значения. TL; DR, не забудьте поставить линии в нижней части вашего.zshrc
.источник
Проблема была не с
zsh
моей.zshrc
, а с моей историей. Были некоторые странные записи, такие какчто смутило
zsh
и все после того, как эти записи были усечены. Я не знаю, какому персонажу^@
соответствует или как эти записи оказались в моей истории, но удаление их решило проблему.источник
terminology
иvim
.^@
является\0
символом ASCII NUL ( ).