Sempre que abro uma nova instância de um terminal, o histórico fica vazio. Por que é que? Preciso configurar algo? No bash, porém, não há necessidade disso.
zsh
command-history
Gilles 'SO- parar de ser mau'
fonte
fonte
zsh
, mas, por padrão,bash
grava nos arquivos de histórico ao sair , o que significa que, se você não o tiver usado antes e abrir alguns shells, todos eles mostrarão o histórico agora até que pelo menos um faça logout, desse modo gravando seu arquivo de histórico.Respostas:
Bash e zsh têm padrões diferentes. O Zsh não salva o histórico em um arquivo por padrão.
Quando você executa o zsh sem um arquivo de configuração, ele exibe uma interface de configuração. Nesta interface de configuração, selecione
revise as configurações propostas e selecione
Repita para os outros submenus para (2) conclusão, (3) combinações de teclas e (4) opções e selecione
no menu principal.
As configurações recomendadas relacionadas ao histórico são
Eu usaria um nome diferente para o arquivo de histórico, para indicar que é o arquivo de histórico do zsh. E 1000 linhas podem ser aumentadas em um sistema moderno.
Essas linhas entram
~/.zshrc
, a propósito.fonte
Embora a resposta existente esteja correta, pensei que valeria a pena acrescentar que existe uma opção melhor do que
appendhistory
salvar seu histórico e é issoSHARE_HISTORY
.Nos documentos
SHARE_HISTORY
"ambos importam novos comandos do arquivo de histórico e também fazem com que seus comandos digitados sejam anexados ao arquivo de histórico". Isso significa que os reservatórios também conhecem a história um do outro, sem precisar fechar o atual ou abrir um novo.Então, todos juntos, você definiria assim:
fonte
INC_APPEND_HISTORY_TIME
, que grava no histórico de todos os terminais como acima, mas esse histórico "não estará disponível imediatamente em outras instâncias do shell que estão usando o mesmo arquivo de histórico". Isso faz mais sentido para mim, porque então eu posso percorrer o histórico de cada terminal independentemente, mas ainda está tudo registrado.INC_APPEND_HISTORY_TIME
pode fazer mais sentido lógico. Eu provavelmente não deveria ter dito "melhor", acho que é apenas uma questão de preferência pessoal neste momento!Quando você passa do bash para o zsh pela primeira vez, seu histórico do bash não será transferido. Portanto, todo o histórico que você tinha no bash ainda está no arquivo de histórico do bash. O zsh começa a capturar o histórico a partir do momento em que você começa a usá-lo como seu shell.
Se você não o configurou para capturar o histórico, é possível executar novamente o assistente de configuração e informar ao zsh quanto histórico salvar. Altere o nome de ~ / .zshrc ou exclua-o para obter uma nova chance do assistente.
fonte
Se não estiver funcionando, e você já tiver tudo isso em prática, tente:
Isso grava o histórico atual no arquivo de histórico. E se você receber:
é hora de verificar as permissões no arquivo e no diretório pai.
fonte