2013-07-20 6 views
8

Nel fare ricerca intelligente inversa su un terminale (Ctrl + R), posso tenere premuto Ctrl + R di tornare in "storia" e ottenere i comandi più anziani che contengono la mia stringa di ricerca.Ricerca intelligente inversa (reverse-i-search), come ottenere il risultato precedente?

Come posso tornare a un risultato che ho già visualizzato (un risultato di ricerca precedente)?

+2

La tua domanda appartiene a SU, dove [è stato risposto] (http://superuser.com/a/159184) già. –

+2

@AnsgarWiechers Divertente che la risposta accettata a quella domanda su SU collega una domanda su SO ... Reverse-i-search è uno strumento per gli sviluppatori. –

+0

Quindi alla fine questo ha una risposta: http://stackoverflow.com/questions/549810/control-r-reverse-i-search-in-cygwin-bash-how-do-you-reset-the-search/549860#549860 – anubhava

risposta

23

Desidero lasciare un riferimento per le persone che potrebbero trovarlo, poiché lo linked question richiede effettivamente qualcos'altro (anche se una delle risposte contiene la soluzione a questo problema).

Il legame chiave per andare avanti è CTRLS.

Il problema è che questa associazione, in molti terminali, viene utilizzata per impostazione predefinita per inviare il codice di trasmissione della pausa (XOF).

Come in man stty:

[-]ixon 
      enable XON/XOFF flow control 

Quindi, se si dispone di questa opzione abilitata sul vostro terminale (l'uscita del stty -a contiene ixon tecnico senza il segno - di fronte), non è possibile utilizzare CTRLS nel contesto di reverse-i-search.

Per disattivarlo, utilizzare il seguente comando:

stty -ixon 

E CTRLS vi darà una (non inversa) (i-search).

+1

Woah. Non ho mai saputo che +1 – sehe

+0

Come faccio a rendere permanente il cambiamento del terminale? – vishalm

+0

@vishalm, usa semplicemente ~/.bashrc (o qualsiasi cosa usi il tuo sistema), http://stackoverflow.com/questions/18900803/persistent-stty-settings –

Problemi correlati