История команд ZSH не сохраняется после перезапуска терминала

Всякий раз, когда я перезагружаю свой терминал, я не могу использовать клавишу со стрелкой, чтобы увидеть предыдущие команды, которые я набрал в терминале. Я был в состоянии сделать это раньше. Поскольку я обновился до macOS Catalina и использовал ZSH Apple по умолчанию каждый раз, когда я перезапускаю терминал, история команд отсутствует.

В моем файле zshrc для сохранения команд используются следующие конфигурации:

# History in cache directory:
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.cache/zsh/history
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY 
1
27.06.2020, 10:49
1 ответ

Вероятно, проблема в том, что каталог ~/.cache/zsh/не существует. Zsh создаст для вас файл истории, если он не существует, но он не создаст для вас несуществующие -каталоги.

Кроме того, в macOS вам не нужно устанавливать сам файл истории. Это уже сделано для вас в /etc/zshrc.

Наконец, (и это не связано с вашей проблемой, а просто совет )вы всегда должны убедиться, что HISTSIZEбольше, чем SAVEHIST, если вы используете любую изHIST_*_DUPSопций . В противном случае Zsh больше не сможет удалять дубликаты, как только ваша история превысит SAVEHIST. В вашем случае я бы увеличил его до HISTSIZE=20000.

Так или иначе:

  • Попробуйте закомментировать строку HISTFILE,

или

  • создайте каталог, в который вы хотите, чтобы Zsh записал файл,

и посмотрите, поможет ли это.

1
18.03.2021, 23:24

Теги

Похожие вопросы