Em zsh
, eu quero ter uma história ilimitada. Eu defino HISTSIZE=
, que funciona bash
. Agora eu importo uma história antiga
mv old_history .history
que é bem grande
wc -l .history
43562 .history
Se eu fechar agora e começar de zsh
novo, vejo
wc -l .history
32234 .history
Não posso ter histórico ilimitado zsh
?
zsh
command-history
pfnuesel
fonte
fonte
Respostas:
Existe o limite e as possibilidades de suas máquinas.
Na lista de discussão do ZSH :
O que explica a solução Gentoo:
O histórico não será salvo sem o seguinte comando:
Para impedir que o histórico grave entradas duplicadas (como ls -l inseriu várias vezes durante a sessão de shell único), você pode definir a opção hist_ignore_all_dups:
Um truque útil para impedir que entradas específicas sejam registradas em um histórico, precedendo-as com pelo menos um espaço.
fonte
50000
, mas isso não resolverá o meu problema.Você precisa definir ambos
HISTSIZE
eSAVEHIST
. Eles indicam quantas linhas do histórico devem ser mantidas na memória e quantas linhas devem ser mantidas no arquivo de histórico, respectivamente.Não acho que o zsh tenha uma configuração que significa "infinito", mas, para todos os fins práticos, um bilhão é infinito, enquanto permanece representável por máquina em máquinas de 32 bits.
fonte
Eu estava tendo um problema com a história sendo limitado a
10000
até que eu percebi oh-meu-zsh estava montando a sua própriaHISTSIZE
eSAVEHIST
valores. TL; DR, certifique-se de colocar as linhas na parte inferior do seu.zshrc
.fonte
O problema não era com
zsh
ou com o meu.zshrc
, mas com a minha história. Havia algumas entradas estranhas comoque confuso
zsh
e tudo depois que essas entradas foram truncadas. Não sei a que caractere^@
corresponde ou como essas entradas acabaram no meu histórico, mas removê-las resolveu o problema.fonte
terminology
evim
.^@
é o caractere ASCII NUL (\0
).