2011-11-08 6 views
48

Quando si utilizza l'opzione di ricerca incrementale di VIM, di solito cerco e dopo aver ottenuto il primo risultato (sarà evidenziato), utilizzo il tasto / per passare al risultato successivo.VIM, ricerca incrementale: come posso saltare al risultato successivo e ottenerlo evidenziato?

Ma:

  1. Per questo ho bisogno di 'annullare' la mia ricerca e tornare alla modalità Normale in modo da saltare il risultato successivo.
  2. Premendo /, VIM passa al risultato successivo ma non lo evidenzia.

Mi chiedo se esiste un modo più efficiente di saltare tra i risultati utilizzando la ricerca incrementale e ottenerli evidenziati.

risposta

75

Il tasto abituale per passare al risultato di ricerca successivo è "n".

Non sono del tutto sicuro di cosa intendi per evidenziazione: tutti i risultati di ricerca dovrebbero essere evidenziati se hlsearch è impostato, e per me non fa alcuna differenza se vado al risultato successivo con 'n' o con '/' .

+1

Matthew, grazie. Tuttavia, eseguo la ricerca incrementale, digito (salta e mette in evidenza) che premo INVIO di usare 'n' e il cursore salta al risultato successivo. Ma non è evidenziato. Pensi che dovrebbe agire diversamente? – zoltanctoth

+0

Il mio li evidenzia tutti immediatamente - se ci sono più risultati di ricerca visibili nel buffer allo stesso tempo, posso vedere che hanno tutti sfondi gialli. Questa è la configurazione predefinita sul mio sistema e IIRC è controllato dall'impostazione 'hlsearch'. –

+8

E 'N' per cercare all'indietro. – sunsations

6

Se si desidera evidenziare tutti i risultati della ricerca, è necessario impostare hlsearch non incsearch.

+1

Questo era il problema. Grazie. – zoltanctoth

+1

@zoltanctoth: dovresti accettare l'altra risposta, perché è stato il primo a dirlo in realtà. – Benoit

+0

Hai ragione. Ho perso la parte hlsearch nella risposta di @mathew. Grazie per averlo notato. – zoltanctoth