29 votes

zsh, la flèche vers le haut ne répète que les commandes uniques ?

Je cherche un réglage qui fasse que lorsque j'appuie sur la flèche vers le haut, zsh affiche les commandes que j'ai récemment éditées. Le problème, c'est que je ne veux que unique commandes. Actuellement, si je tape echo "hello world" 50 fois, je dois appuyer 50 fois sur la flèche du haut pour obtenir la commande que j'ai utilisée avant en tapant la commande echo. Le moins que l'on puisse dire, c'est que c'est ennuyeux.

Des idées sur les paramètres que je dois activer/désactiver ?

35voto

peth Points 9170

HIST_IGNORE_ALL_DUPS jettera todos les correspondances précédentes de la commande, ce qui peut prêter à confusion lorsque l'on utilise l'historique comme un journal de ce que l'on a fait par la suite :

HIST_IGNORE_ALL_DUPS : Si une nouvelle ligne de commande ajoutée à la liste d'historique duplique une ligne plus ancienne, cette dernière est supprimée de la liste (même s'il ne s'agit pas de l'événement précédent).

La solution la plus adaptée à vos besoins est probablement la HIST_FIND_NO_DUPS option :

HIST_FIND_NO_DUPS : Lors de la recherche d'entrées d'historique dans l'éditeur de ligne, ne pas afficher les doublons d'une ligne précédemment trouvée, même si les doublons ne sont pas contigus.

Ou peut-être le HIST_IGNORE_DUPS mais, en tant que RichieHH Il n'en reste pas moins que cela conduit à une vision incomplète de l'histoire :

HIST_IGNORE_DUPS : Ne pas entrer les lignes de commande dans la liste historique si elles sont des doublons de l'événement précédent.

Voir : man zshoptions | less -p History .

4voto

Mikel Points 8576

Je ne vois pas de moyen de ne faire que cela, mais si vous définissez l'option HIST_IGNORE_ALL_DUPS seule la version la plus récente d'une commande sera conservée dans l'historique, ce qui produit le même effet.

Voir man zshoptions pour plus de détails.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X