En Vim,¿Cómo agregar una palabra al comienzo de varias líneas en vim?
¿Cómo agrego una palabra al principio de todas las líneas? ¿También cómo lo agrego al final?
Ej .. Si tengo
A
B
C
D
Quiero llegar a
int A =
int B =
etc ..
En Vim,¿Cómo agregar una palabra al comienzo de varias líneas en vim?
¿Cómo agrego una palabra al principio de todas las líneas? ¿También cómo lo agrego al final?
Ej .. Si tengo
A
B
C
D
Quiero llegar a
int A =
int B =
etc ..
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
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 & =/
¿No debería ser $: 0? –
$ 0? Esto es para Perl o C++ (TR1) – Benoit
$ 0 es probable que esté en otro lenguaje basado en expresiones regulares. –
Usted puede hacer esto:
:%s/^/at the beginning/
:%s/$/at the end/
:%s/.\+/int & =
+ no coincidirá en líneas vacías
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
Esto funcionará para líneas vacías solo si 'virtualedit' no está vacío. – Benoit
+1 ya que esta es la solución más general. Para anexar, vea ': help v_b_A' en lugar de' v_b_I' –
. Es interesante que 'visual block' sea diferente a' visual mode' –