Zsh: fai in modo che la freccia su salti comandi identici


10

Nella maggior parte delle shell Unix, il tasto freccia su sostituisce il comando che viene modificato dal comando precedente nella cronologia. La cronologia può essere vista usando il comando history.

può essere premuto più di una volta per salire nella storia.

La mia domanda è:

Come posso configurare la mia shell in modo che salti tutti i comandi identici a quello attuale?

Anzi, spesso ne inserisco molti makedi seguito. Quando voglio inserire di nuovo (o modificare leggermente) un comando più vecchio, devo premere più volte solo per saltare tutti i makecomandi.

So che è ben lungi dall'essere l'unico suggerimento che aumenta la produttività della shell.

bonus:

  • dare una configurazione funzionante per la shell Bash.
  • preservare la cronologia (sapere che hai digitato un comando più volte di seguito può essere utile)

Risposte:


15

Per zsh inseriscilo nella tua configurazione:

setopt histignoredups

Ciò che fa, ignorerà le voci della cronologia duplicate durante la ricerca.

L'impostazione equivalente per bash è

HISTCONTROL=$HISTCONTROL:ignoredups

1
grazie, setopt histignoredupsfa il lavoro ma sopprime anche i duplicati della storia
Gabriel Devillers,

Si, esattamente. Nella maggior parte dei casi questo è quello che vuoi. Quando hai visto un suggerimento e non lo desideri, non vuoi che questo venga suggerito di nuovo. Non elimina i duplicati dalla cronologia, tra l'altro.
Martin Sugioarto,

Hai ragione ma intendevo dire: i duplicati futuri non verranno aggiunti alla cronologia.
Gabriel Devillers,

Vengono aggiunti altrimenti l'altra opzione chiamata histexpiredupsfirstche uso anche io non avrebbe senso. Fa scadere i duplicati prima di guardare l'età. (Sto parlando di zsh qui)
Martin Sugioarto,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.