Dans zsh
, je veux avoir une histoire illimitée. Je mets HISTSIZE=
, qui travaille dans bash
. Maintenant j'importe une vieille histoire
mv old_history .history
qui est assez gros
wc -l .history
43562 .history
Si je ferme maintenant et recommence zsh
, je vois
wc -l .history
32234 .history
Je ne peux pas avoir une histoire illimitée zsh
?
zsh
command-history
pfnuesel
la source
la source
Réponses:
Il y a la limite et les possibilités de vos machines.
De la liste de diffusion ZSH :
Ce qui explique la solution Gentoo:
L'historique ne sera pas sauvegardé sans la commande suivante:
Pour empêcher l’historique d’enregistrer des entrées dupliquées (tel que ls -l entré plusieurs fois au cours d’une session shell unique), vous pouvez définir l’option hist_ignore_all_dups:
Une astuce utile pour empêcher certaines entrées d'être enregistrées dans un historique en les précédant d'au moins un espace.
la source
50000
, mais cela ne résoudra pas mon problème.Vous devez définir les deux
HISTSIZE
etSAVEHIST
. Ils indiquent le nombre de lignes de l'historique à conserver en mémoire et le nombre de lignes à conserver dans le fichier d'historique, respectivement.Je ne pense pas que zsh ait un paramètre qui signifie «infini», mais à toutes fins pratiques, un milliard est infini, tout en restant représentable par une machine sur des machines 32 bits.
la source
J'avais un problème avec l' histoire étant plafonnée à
10000
jusqu'à ce que je me suis rendu oh-my-zsh mettait ses propresHISTSIZE
et desSAVEHIST
valeurs. TL; DR, assurez-vous de mettre les lignes au bas de votre.zshrc
.la source
Le problème n'était pas avec
zsh
ou mon.zshrc
, mais avec mon histoire. Il y avait des entrées bizarres commeque confus
zsh
et tout après ces entrées a été tronqué. Je ne sais pas à quel caractère^@
correspond ni comment ces entrées se sont retrouvées dans mon historique, mais leur suppression a résolu le problème.la source
terminology
etvim
.^@
est le caractère ASCII NUL (\0
).