Prezto: `$HISTFILE` не устанавливает `.zhistory` после обновления до macOS Catalina

Созданный на 10 окт. 2019  ·  3Комментарии  ·  Источник: sorin-ionescu/prezto

Описание

Сначала казалось, что history-substring-search и autosuggestions не работают, но значение $HISTFILE не было установлено .zhistory .

$ echo $HISTFILE
$ /Users/<user>/.zsh_history

Я думаю, это потому, что /etc/zshrc загружается после обновления macOS Catalina.
Однако, поскольку этот файл не может быть отредактирован root , проблема не решается.

Ожидаемое поведение

История команд должна быть записана в .zhistory .

Фактическое поведение

В дополнение к .zhistory будет создан файл .zsh_history .
Предыдущая история не будет прочитана.

Действия по воспроизведению

Просто обновите macOS.

Версии

  • Предварительная фиксация: 2873885
  • Версия ZSH: zsh 5.7.1 (x86_64-apple-darwin18.2.0)
  • Информация об ОС: macOS Catalina (10.15) Build: 19A583

Самый полезный комментарий

В коммите 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 введено ранее установленное значение HISTFILE . Поскольку эта переменная установлена ​​в /etc/zshrc начиная с Catalina, ее значение $HOME/.zsh_history имеет приоритет над значением, используемым с тех пор в .zprezto/modules/history/init.zsh .

В качестве обходного пути добавьте следующий фрагмент в .zshrc непосредственно перед получением Prezto:

#
# Workaround for: https://github.com/sorin-ionescu/prezto/issues/1744
#
export HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.

Вышеприведенный фрагмент устанавливает HISTFILE в $HOME/.zhistory , который снова используется в .zprezto/modules/history/init.zsh вместо значения, ранее установленного в /etc/zshrc .

Все 3 Комментарий

В коммите 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 введено ранее установленное значение HISTFILE . Поскольку эта переменная установлена ​​в /etc/zshrc начиная с Catalina, ее значение $HOME/.zsh_history имеет приоритет над значением, используемым с тех пор в .zprezto/modules/history/init.zsh .

В качестве обходного пути добавьте следующий фрагмент в .zshrc непосредственно перед получением Prezto:

#
# Workaround for: https://github.com/sorin-ionescu/prezto/issues/1744
#
export HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.

Вышеприведенный фрагмент устанавливает HISTFILE в $HOME/.zhistory , который снова используется в .zprezto/modules/history/init.zsh вместо значения, ранее установленного в /etc/zshrc .

Интересный. Я не уверен, хотим ли мы переопределить это или нет, поскольку был механизм, который позволял пользователям переопределять настройку, если они этого хотели.

Интересный. Я не уверен, хотим ли мы переопределить это или нет, поскольку был механизм, который позволял пользователям переопределять настройку, если они этого хотели.

Я бы предпочел некоторые настройки в модуле истории, которые позволили бы мне настроить, будет ли какое-либо предопределенное значение иметь приоритет или нет. Нравится:

zstyle ':prezto:module:history:histfile:path' allowoverride 'yes'
Была ли эта страница полезной?
0 / 5 - 0 рейтинги