2011-01-13 7 views

Respuesta

11

uso (Ctrl - v) para seleccionar la columna que desea, y luego pulsa I, escribe los caracteres que desea, y luego pulsa Esc

lo tanto, en este caso, que había puesto el cursor sobre A , Golpeó Ctrl - v, bajar a D, golpeó I y escriba int (solo aparecerá en la primera línea, mientras que la escribe), y después haga clic en Esc momento en el que va a aplicar ese inserto a todas las porciones seleccionadas visualmente.

Esto funciona para cualquier lugar en el documento, el comienzo de la línea o el final de la línea.

:he v_b_I para obtener más información sobre Visual Insertar bloque de

+1

Esto funcionará para líneas vacías solo si 'virtualedit' no está vacío. – Benoit

+0

+1 ya que esta es la solución más general. Para anexar, vea ': help v_b_A' en lugar de' v_b_I' –

+0

. Es interesante que 'visual block' sea diferente a' visual mode' –

2

Un sustituto global debería hacer:

:%s/.\+/int & =/ 

Así es como funciona: en la segunda parte de la sustitución (es decir, en el int & =) el ampersand se reemplaza con el que se mecanizó en la primera parte (el .*). Dado que .* coincide con la línea completa, cada línea se sustituye según se desee.

Si tiene líneas vacías (en la que no quieren tener ningún reemplazos), usted podría ir con un modo de bloque visual

:%s/^\S\+$/int & =/ 
+0

¿No debería ser $: 0? –

+0

$ 0? Esto es para Perl o C++ (TR1) – Benoit

+0

$ 0 es probable que esté en otro lenguaje basado en expresiones regulares. –

7

Usted puede hacer esto:

:%s/^/at the beginning/ 
:%s/$/at the end/ 
4

:%s/.\+/int & =

+ no coincidirá en líneas vacías

2

Si necesita copiar solo la primera palabra, luego hazlo:

:%s/^\w\+/int & =/g 

Si desea conservar la sangría, y luego hacer:

:%s/^\(\s*\)\(\w\+\)/\1int \2 =/g 
Cuestiones relacionadas