2009-10-20 24 views

Respuesta

80

El comando:

:%s/^/foo:/

... inserta foo: al comienzo de cada línea.

Para un rango que puede utilizar los números de línea:

:10,20s/^/foo:/

... lo hará por la línea 10 a 20.

Mi manera preferida de hacerlo por una serie de líneas es la siguiente: mueva el cursor a la primera línea del rango, luego ingrese ma para establecer el marcador a en la línea actual. Ir al final de la gama y entrar

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

Otro método bueno, más interactivo es usar el modo de bloque visual (ctrl-V) para seleccionar la primera columna, luego 'I' para insertar: escriba lo que necesita, pulse escape, y se agregará a todas las líneas. Esto, por supuesto, funciona en cualquier columna, no solo en la primera, y también puede usar 'A' para agregar, o' c' o 'd'. – Cascabel

+0

Err .... Hefromi: ¿por qué no hiciste de esto una respuesta? Es una buena. O podría haber sido. – innaM

+0

@Jefromi: Debe hacer una respuesta a su comentario, ctrl-V es más fácil de usar que ': s'. –

-2

Puede usar macros.

+1

Puedes, pero no deberías. – innaM

27

me he vuelto mucho más acostumbrado a utilizar bloques visuales para este tipo de cosas:

  • ir al principio de la primera línea en su rango (gg de primera línea, ^ para ir al inicio)
  • <C-V>
  • Mover hasta la última línea de su gama
  • Ifoo<ESC>

Eso insertaría foo al comienzo de cada línea.

+0

¡Esto ayudó mucho! –

Cuestiones relacionadas