A configuração de HISTFILE
em sua configuração zsh deve mudar para onde o histórico é escrito e de onde ele é lido. É provável que oh-my-zsh defina HISTFILE=~/.zsh_history
antes de você configurá-lo, caso em que o histórico já foi lido em ~/.zsh_history
.
Olhando para o código oh-my-zsh , existem duas maneiras de resolver isso:
-
defina
HISTFILE
antes de carregar oh-my-zsh . Ou seja, tem que ser definido no seu~/.zshrc
antes da linha que contémsource $ZSH/oh-my-zsh.sh
Esta seria uma solução simples, se você quiser alterar apenas
HISTFILE
. -
sobrecarregue o módulo
history.zsh
com sua própria versão personalizada. Oh-my-zsh carrega todos os arquivos correspondentes a$ZSH/lib/*.zsh
(onde$ZSH
geralmente é~/.oh-my-zsh
) na inicialização, a menos que${ZSH_CUSTOM}/lib/
seja um arquivo com o mesmo nome (ZSH_CUSTOM
normalmente é$ZSH/custom
). As configurações do histórico podem ser encontradas em$ZSH/lib/history.zsh
e, portanto, podem ser substituídas por${ZSH_CUSTOM}/lib/history.zsh
.Se você quiser alterar mais as configurações encontradas em
$ZSH/lib/history.zsh
, esse provavelmente é o caminho a seguir. Caso contrário, você teria que definirHISTFILE
antes de carregar oh-my-zsh e tudo mais depois.
Uma maneira de alterar HISTFILE
(temporariamente) depois em uma sessão de shell é
fc -p /path/to/new_history
Isso coloca o histórico atual em uma pilha, define HISTFILE=/path/to/new_history
e lê o histórico desse arquivo (se existir). Quaisquer novos comandos também serão gravados no novo HISTFILE
. Você pode voltar para o histórico original com fc -P
.