zsh, la freccia su ripete solo comandi univoci?


21

Sto cercando un'impostazione che lo renderà tale che quando premo la freccia su, zsh mostra i comandi che ho modificato di recente. Il problema è che voglio solo comandi unici . Attualmente, se digito echo "hello world"50 volte, devo premere la freccia su 50 volte per ottenere il comando che ho usato prima di digitare il comando echo. Questo è fastidioso per non dire altro.

Qualche idea su quale impostazione devo abilitare / disabilitare?

Risposte:


23

HIST_IGNORE_ALL_DUPSeliminerà tutte le precedenti corrispondenze del comando, il che può creare confusione quando si utilizza la cronologia come registro di ciò che è stato fatto in seguito.

Una soluzione più vicina alle tue esigenze è probabilmente HIST_IGNORE_DUPSl' HIST_FIND_NO_DUPSopzione o anche l' opzione.

Vedi man zshoptions | less -p History:

HIST_FIND_NO_DUPS: durante la ricerca di voci della cronologia nell'editor di riga, non visualizzare i duplicati di una riga precedentemente trovata, anche se i duplicati non sono contigui.

HIST_IGNORE_ALL_DUPS: se una nuova riga di comando aggiunta all'elenco cronologico ne duplica una precedente, il comando precedente viene rimosso dall'elenco (anche se non è l'evento precedente).

HIST_IGNORE_DUPS: non inserire le righe di comando nell'elenco cronologico se sono duplicati dell'evento precedente.


1
HIST_FIND_NO_DUPS è una risposta migliore della mia, credo.
Mikel,

3

Non riesco a vedere alcun modo per farlo solo letteralmente, ma se imposti l' HIST_IGNORE_ALL_DUPSopzione, solo la versione più recente di un comando verrà mantenuta nella cronologia, dandoti lo stesso effetto.

Vedi man zshoptionsper i dettagli.


Funziona alla grande! A meno che non mi manchi qualcosa, questo è esattamente quello che volevo :)
Lee Olayvar,
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.