Esiste una funzionalità di "ricerca incrementale inversa" in Fish simile a CTRL + R di Bash?


36

Sono davvero impressionato dalla funzionalità di completamento automatico di Fish . Tuttavia c'è una funzionalità in Bash che non riesco a trovare in Fish. Quando premi Ctrl+ Rin Bash e inizi a digitare un termine, viene eseguita una ricerca .bash_historyper trovare le corrispondenze in ordine inverso.

Esiste una funzionalità simile in Fish?


La cosa da notare sulla funzione freccia su / giù del pesce è che è molto meno potente della ricerca inversa di bash. Ciò diventa evidente quando ricordi il tuo argomento o un'opzione, ma non dalla prima parte del tuo comando. La ricerca inversa esegue una ricerca in linea sfocata, il pesce controlla solo l'inizio identico della frase.
Kasper HJ il

6
@KasperHJ, penso che il tuo commento potrebbe non essere aggiornato. Ho digitato stae premuto, e ho trovato git stash list. Ho appena iniziato a usare Fish di recente, quindi non so se questa è una funzionalità aggiunta di recente o qualcosa che è stato in Fish per molto tempo.
Elias Zamaria,

Risposte:


46

Non ho mai usato fishme stesso, ma una rapida ricerca su Google ha fatto apparire questa pagina che lo afferma

Potente meccanismo storico

Le shell moderne salvano i comandi precedenti nella cronologia dei comandi. È possibile visualizzare i comandi precedenti utilizzando le frecce su e giù. Fish estende questo concetto integrando la funzionalità di ricerca della cronologia. Per cercare nella cronologia, digita semplicemente la stringa di ricerca e premi la freccia su. Utilizzando la freccia su e giù, è possibile cercare corrispondenze più vecchie e più recenti. La cronologia dei pesci rimuove automaticamente le corrispondenze duplicate e la sottostringa corrispondente viene evidenziata. Queste funzioni rendono la ricerca e il riutilizzo dei comandi precedenti molto più veloci.

È quello che stai cercando? Sembra abbastanza simile a quello di Bash.


7

il pesce non implementa la ricerca cronologica incrementale, sebbene di tanto in tanto sembri emergere. La documentazione pre-2.0 ha un "caratteristiche mancanti e bug" sezione 1 , che elenca la storia Ricerca incrementale piuttosto in basso nella lista "caratteristiche possibili". La mailing list dedicata agli utenti di pesce include questo messaggio di Axel Liljencratz, datato 21 agosto 2006, in cui afferma che la ricerca incrementale sarebbe una buona caratteristica.

Se sei abituato alla ricerca incrementale in stile bash, la ricerca della cronologia dei pesci richiede un po 'di tempo per abituarsi. Devi prima digitare il termine di ricerca e spostare su e giù le voci corrispondenti con le frecce su e giù. Ma suppongo che ti ci abitui.




1

Ricerche inverse Ctrl + r molto migliori con il plug -in FZF e FZF Fish , utilizzando il gestore di pacchetti di pesce Triton , configurato per utilizzare Silver Searcher .

~ / .Config / pesce / config.fish:

triton jethrokuan/fzf
set -U FZF_COMPLETE 2
set -U FZF_FIND_FILE_COMMAND "ag -l --hidden --ignore .git"
set -U FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border"

Su Mac OS, per installare i prereq:

brew install the_silver_searcher
brew install fzf

0

Usare le frecce su e giù non è una buona alternativa Ctrl+R, perché se la frase che stai cercando è davvero profonda nella storia, dovrai premere molto i tasti su / giù! Io uso solohistory | grep -i [phrase]

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.