Mi è stato detto che in ZSH si poteva fare qualcosa come command
e poi quando si faceva clic si filtrava la cronologia in base al comando dato. Ma quando provo questo, semplicemente scorre la cronologia come fa bash. Questo è disabilitato di default?Filtraggio della cronologia ZSH tramite il comando
risposta
Hit Ctrl+R
, digitare alcune lettere, troverà il comando precedente con queste lettere, continuare a premere Ctrl + R per continuare attraverso i risultati precedenti.
Funziona in bash, zsh (e altre shell suppongo).
Quello che personalmente mi piace è: digitare alcune lettere, premere Up
, vengono visualizzati i comandi precedenti che iniziano con le stesse lettere. Molto potente, lo adoro.
È necessario associare i tasti che si desidera history-beginning-search-backward
e history-beginning-search-forward
.
Nel caso non sia abbastanza per voi, zsh ha un sacco di opzioni, prova a cercare in Zsh Line Editor e dirci.
Per bash, meno potente ma più comune, Bash commands for history.
Questa è una funzionalità disponibile in fish, ma sembra che qualcuno abbia creato un zsh plugin per esso. Non è disponibile in ZSH standard.
Usa punto esclamativo:
> !<starts-with this string>
Puoi freccia su/giù attraverso tutti i comandi che è iniziato con quello. Io uso "! V" tutto il tempo per ottenere il mio comando precedente per l'apertura di un file con Vim.
È inoltre possibile utilizzare un punto di domanda per cercare di là corrispondenza all'inizio della stringa,
> !?status
riesci a trovare "git status".
Questo non funziona per me. Digito! Vi e premo Su e vedo il comando precedente, non il comando precedente che inizia con "vi". C'è un ambiente che devo attivare affinché funzioni? –
@LarryHastings, devi prima premere 'Invio'. Quindi puoi premere "Su" per scorrere la cronologia dei comandi. –
Dove viene documentata questa sintassi? – bennlich
Usa percol per cercare in modo dinamico e navigare attraverso la vostra storia con Ctrl - r.
- installare Percol:
sudo pip install percol
- aggiungere il zsh-history-search frammento di codice al file .zshrc.
Dopo un Ctrl - r, è possibile vedere tutta la vostra storia nella stessa finestra. La ricerca di una parola chiave (in modo dinamico) restringe l'elenco. È possibile utilizzare i tasti di scelta rapida (come questa configurazione emacs like) per spostarsi su e giù nell'elenco e infine effettuare una selezione.
Questa è una ricerca per tutti i comandi sudo install
disponibili nella cronologia con sudo make install
selezionato.
Inserire problemi il comando selezionato.
Con le combinazioni di tasti vim attivate in zsh è possibile utilizzare vi-history-search-backward (/) in modalità comando vi.
Semplicemente perfetto, grazie. – Guu
Vedi la mia risposta per qualcosa di molto simile a quello che hai descritto nel tuo secondo paragrafo. Effettua la ricerca completa della sottostringa, in modo che corrisponda a qualsiasi parte di un comando, ma dovrebbe essere abbastanza semplice da modificare per corrispondere solo dall'inizio dei comandi. – Frost
'CTRL + R' non funzionerà fuori dal gate se stai usando i binding Vim in zsh. Se lo sei, prova ad aggiungere "bindkey"^R "history-incremental-search-backward" al tuo file ~/.zshrc. – croceldon