Сначала казалось, что history-substring-search
и autosuggestions
не работают, но значение $HISTFILE
не было установлено .zhistory
.
$ echo $HISTFILE
$ /Users/<user>/.zsh_history
Я думаю, это потому, что /etc/zshrc
загружается после обновления macOS Catalina.
Однако, поскольку этот файл не может быть отредактирован root
, проблема не решается.
История команд должна быть записана в .zhistory
.
В дополнение к .zhistory
будет создан файл .zsh_history
.
Предыдущая история не будет прочитана.
Просто обновите macOS.
2873885
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
.
Интересный. Я не уверен, хотим ли мы переопределить это или нет, поскольку был механизм, который позволял пользователям переопределять настройку, если они этого хотели.
Интересный. Я не уверен, хотим ли мы переопределить это или нет, поскольку был механизм, который позволял пользователям переопределять настройку, если они этого хотели.
Я бы предпочел некоторые настройки в модуле истории, которые позволили бы мне настроить, будет ли какое-либо предопределенное значение иметь приоритет или нет. Нравится:
zstyle ':prezto:module:history:histfile:path' allowoverride 'yes'
Самый полезный комментарий
В коммите 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 введено ранее установленное значение
HISTFILE
. Поскольку эта переменная установлена в/etc/zshrc
начиная с Catalina, ее значение$HOME/.zsh_history
имеет приоритет над значением, используемым с тех пор в.zprezto/modules/history/init.zsh
.В качестве обходного пути добавьте следующий фрагмент в
.zshrc
непосредственно перед получением Prezto:Вышеприведенный фрагмент устанавливает
HISTFILE
в$HOME/.zhistory
, который снова используется в.zprezto/modules/history/init.zsh
вместо значения, ранее установленного в/etc/zshrc
.