2013-08-02 4 views
22

Esiste un modo per specificare la ricerca e sostituire l'intervallo utilizzando la linea corrente come riferimento? posso specificare intervallo utilizzando i numeri di riga espliciti comecercare e sostituire utilizzando la riga corrente come punto di riferimento

:5,15s/foo/bar/g 

per fare la ricerca e sostituzione solo sulle linee 5 e 15. Come specificare un intervallo come "dalla linea di corrente a 10 righe al di sotto (o sopra) il linea corrente "?

+1

avete controllato ': h range'? – Kent

+1

@Kent: nel mio recente Vim, che va alla documentazione 'range()', sfortunatamente. Ma ': range' farà il trucco. –

+0

@IngoKarkat interessante ho 7.3.1287. ': h range' mi porta lì. (come ': h: range') – Kent

risposta

54

È possibile utilizzare . per la posizione corrente, e .+10 per 10 linee di basso:

:.,.+10s/foo/bar/g 

Alcuni altri campi utili:

  • % per l'intero file.
  • '<,'> per le righe del blocco visivamente selezionato. Questo potrebbe farti ottenere più di quello che vuoi della selezione visiva inizia o termina nel mezzo di una linea. L'intera linea è inclusa.
  • 'a,'b dal segno a al segno b.
  • .,$ dalla riga corrente alla fine del file.
+11

Per quelli che contano i caratteri, non è necessario '.' in quella espressione. Quindi, ':, + 10s/foo/bar/g' è equivalente. – ravron

+0

@Riley, Grazie per aver segnalato che –

15

:help :range fornisce tutti i dettagli; puoi fare cose abbastanza sofisticate, ad es. :'a;/pat1/-1.

Per intervalli che partono dalla riga corrente, un trucco accurato consiste nell'avviare la modalità riga di comando con il prefisso : con un conteggio: E.g. 5: diventa :.,.+4.

Protip: informazioni su come cercare i comandi e navigare su :help integrato; è completo e offre molti suggerimenti. Non imparerai Vim alla stessa velocità degli altri editor, ma se ti impegni a imparare in modo continuo, si dimostrerà un editor molto potente ed efficiente.

+2

+1 per quel trucco '5:'. È perfetto. Lo si può trovare su ': help N:', o appena sotto ': help: range' se si è disposti a scorrere un po 'di più. – ravron

Problemi correlati