A princípio parecia que history-substring-search
e autosuggestions
não funcionavam, mas o valor de $HISTFILE
não estava definido .zhistory
.
$ echo $HISTFILE
$ /Users/<user>/.zsh_history
Acho que isso ocorre porque /etc/zshrc
é carregado após a atualização do macOS Catalina.
No entanto, como este arquivo não pode ser editado por root
, não pode ser resolvido.
O histórico de comandos precisa ser gravado em .zhistory
.
Além de .zhistory
, um arquivo .zsh_history
será criado.
O histórico anterior não será lido.
Basta atualizar o macOS.
2873885
zsh 5.7.1 (x86_64-apple-darwin18.2.0)
macOS Catalina (10.15) Build: 19A583
O commit 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 introduziu a permissão de um HISTFILE
previamente definido. Como essa variável está definida em /etc/zshrc
desde Catalina, seu valor $HOME/.zsh_history
tem precedência sobre o usado em .zprezto/modules/history/init.zsh
desde então.
Como solução alternativa, adicione o seguinte snippet a .zshrc
logo antes da origem do Prezto:
#
# Workaround for: https://github.com/sorin-ionescu/prezto/issues/1744
#
export HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.
O snippet acima define HISTFILE
para $HOME/.zhistory
que novamente é usado em .zprezto/modules/history/init.zsh
em vez do valor definido anteriormente em /etc/zshrc
.
Interessante. Não tenho certeza se queremos substituir isso ou não, pois era um mecanismo que permitia aos usuários substituir a configuração, se quisessem.
Interessante. Não tenho certeza se queremos substituir isso ou não, pois era um mecanismo que permitia aos usuários substituir a configuração, se quisessem.
Eu preferiria alguma configuração no módulo de histórico que me permitisse configurar se qualquer valor predefinido teria precedência ou não. Como:
zstyle ':prezto:module:history:histfile:path' allowoverride 'yes'
Comentários muito úteis
O commit 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 introduziu a permissão de um
HISTFILE
previamente definido. Como essa variável está definida em/etc/zshrc
desde Catalina, seu valor$HOME/.zsh_history
tem precedência sobre o usado em.zprezto/modules/history/init.zsh
desde então.Como solução alternativa, adicione o seguinte snippet a
.zshrc
logo antes da origem do Prezto:O snippet acima define
HISTFILE
para$HOME/.zhistory
que novamente é usado em.zprezto/modules/history/init.zsh
em vez do valor definido anteriormente em/etc/zshrc
.