2009-10-20 24 views

risposta

80

Il comando:

:%s/^/foo:/

... inserisce foo: all'inizio di ogni riga.

Per una gamma è possibile utilizzare i numeri di riga:

:10,20s/^/foo:/

... lo farà per la linea 10 a 20.

mio modo preferito per farlo per una serie di linee è questo: spostare il cursore sulla prima riga dell'intervallo, quindi immettere ma per impostare il marker a sulla riga corrente. Spostarsi alla fine del campo e inserire

:'a,.s/^/foo:/
+18

Un altro buon metodo più interattivo è usare la modalità di blocco visivo (ctrl-V) per selezionare la prima colonna, quindi "I" per inserire - digitare ciò che è necessario, premere escape e verrà aggiunto a tutte le linee. Questo ovviamente funziona in qualsiasi colonna, non solo nella prima, e puoi anche usare 'A' per aggiungere, o' c' o 'd'. – Cascabel

+0

Err .... Hefromi: perché non hai fatto questa risposta? È buono. O avrebbe potuto essere. – innaM

+0

@Jefromi: dovresti rendere il tuo commento una risposta, ctrl-V è più facile da usare di ': s'. –

-2

È possibile utilizzare macros.

+1

Si può, ma davvero non dovrebbe. – innaM

27

Sono diventato molto più abituati ad utilizzare blocchi visivi per questo genere di cose:

  • Sposta l'inizio della prima linea nella vostra gamma (gg per la prima linea, ^ per spostare l'inizio)
  • <C-V>
  • Spostare verso il basso per l'ultima riga nella vostra gamma
  • Ifoo<ESC>

Ciò inserirà foo all'inizio di ogni riga.

+0

Questo ha aiutato molto! –

Problemi correlati