2012-10-12 13 views

risposta

22

Il mio suggerimento è di utilizzare un intervallo combinato con la ricerca all'indietro tramite ?.

:1?XXXX 

Panoramica:

  • 1?XXXX è la gamma.
  • 1 significa prima riga del file. Ricerca
  • ?XXXX mezzi a ritroso dalla prima linea (avvolgendo intorno) fino a trovare il modello XXXX

Come ZYX menzionato questo si basa su wrapscan da impostare, che è di default. Vedere :h 'wrapscan' per ulteriori informazioni.

+5

Una nota: l'opzione 'wrapscan' deve essere abilitata per poter usare questo (è di default). – ZyX

5

Vai all'ultimo line utilizzando G e fare ricerca all'indietro usando ?XXXX

+1

E perdere una possibile occorrenza di 'XXXX' sull'ultima riga. –

+0

@ib bello, mi piace. quindi forse è meglio usare un '$' prima della ricerca .. – none

40

Tipo G$?XXXX

  • G per andare alla fine del file
  • $ per andare alla fine della linea
  • ? per cercare indietro
  • XXXX essendo ciò che si desidera cercare

Si potrebbe anche fare gg?XXXX che va al all'inizio del file, quindi cerca all'indietro, avvolgendo intorno alla fine del file. Tuttavia, per i file di grandi dimensioni può essere lento cercare l'inizio del file e quindi immediatamente alla fine del file.

+0

E perdere una possibile occorrenza di 'XXXX' sull'ultima riga. –

1

Un modo è:

gg?<string> 

che metterà il cursore all'inizio del file ed eseguire una ricerca a ritroso. Dal momento che sarà impossibile che vim vada a prima del posizione del cursore, eseguirà una ricerca a partire dalla fine del file.

Problemi correlati