2012-02-08 24 views
8

ho incsearch e hlsearch abilitatoVim ricerca incrementale risultato successivo

Così mi ha colpito / per accedere alla modalità di ricerca.

Quindi digito il testo che voglio cercare e trova la prima occorrenza del testo che ho digitato.

poi voglio saltare alla prossima occorrenza del testo ho digitato senza uscire dalla modalità di ricerca in modo da poter perfezionare il mio testo di ricerca più tardi senza dover uscire alla modalità normale, quindi colpendo n e poi tornare alla modalità di ricerca per colpire / di nuovo.

Se ciò è possibile, come posso farlo?

risposta

6

La cosa migliore che posso trovare che si può fare è la seguente:

Cerca il vostro modello utilizzando/bla

Poi, ha colpito n o? fino a vedere cosa c'è là fuori ...

Tornare su/e premere CTRL-R/

questo porterà indietro l'ultimo modello che hai cercato, in modo da poter continuare a inserire più testo lì ..

Sono sicuro che è possibile rimappare quella combinazione con un tasto in modo da poter tornare rapidamente alla ricerca con il modello già inserito.

+3

quando torni in modalità di ricerca, puoi scorrere la cronologia comprando semplicemente "su" "pulsante. – ezdazuzena

+1

o usa 'q /' per andare alla finestra della cronologia delle ricerche. – Benoit

+0

@ezdazuzena '' è molto più facile da digitare rispetto a ''. – ZyX

5

Ho incsearch e hlsearch abilitato. Così ho colpito / per entrare nella modalità di ricerca. Quindi scrivo il testo che voglio cercare e trova la prima occorrenza.

Okey finora ...

Qui, non posso non capisco quello che stai chiedendo.

poi voglio saltare alla prossima occorrenza del testo ho digitato senza uscire dalla modalità di ricerca

Questo viene fatto premendo n

così che ho potuto affinare il mio testo di ricerca dopo, senza dover uscire in modalità normale, quindi premere n e quindi tornare alla modalità ricerca colpendo nuovamente /.

Mi hai perso qui ... non è questo comportamento esattamente quello che ti consente di attivare incsearch?

+0

In modalità incsearch, come si cerca andrà a la posizione della prossima partita, quello che vuole fare è senza dover premere invio e premere 'n', trovare un modo per passare a quella successiva senza mai uscire dalla modalità di ricerca. –

+0

@DhruvaSagar - Penso di aver capito; più comportamento di emacs, per così dire. – Rook

+0

@Idigas bene, non lo so, ma non penso che sia davvero possibile ottenere ciò che vuole ... –

6

Ho trovato un modo grazie a bwana147 dal canale #vim irc su freenode.net

:cnoremap <c-n> <CR>n/<c-p> 

Dopo di che il testo digitando modalità di ricerca e premendo ctrl-n va alla prossima occorrenza di quel testo senza uscire dalla modalità ricerca

+0

poiché non posso accettare la mia risposta accetterò vmpstr che è la spiegazione base della stessa tecnica usata in questa combo cmap – Troydm

+0

Ho migliorato un po 'questo (usando' cnoremap' e '', perché ho già mappato / per il completamento): ': cnoremap n/'. Sfortunatamente questo tentativo aggiunge voci al jumplist per ogni passo, che i passaggi intermedi prima di '' in 'modalità di ricerca incsearch' non sono così. – blueyed

Problemi correlati