Estoy trabajando VIm
e intentando configurar un comando de búsqueda y reemplazo para hacer algunos reemplazos donde pueda reutilizar la expresión regular que es parte de mi cadena de búsqueda.
Un ejemplo sencillo sería una línea en la que quiero reemplazar (10)
a {10}
, donde 10 puede ser cualquier número.
Llegué tan lejos
.s/([0-9]*)/what here??/
que coincide exactamente con la parte que quiero.
Ahora el reemplazo, intenté
.s/([0-9]*)/{\0}/
Pero, esto da como salida {(10)}
Entonces intenté
.s/(\zs[0-9]*\ze)/{\0}/
Sin embargo, eso me dio ({10})
, que también cierro, pero no lo que quiero.
Creo que necesito otro tipo de marcado / referencia en lugar de esto \0
, pero no sé dónde buscar. Entonces la pregunta es, ¿se puede hacer esto en vim, y si es así, cómo?
fuente
Recientemente heredé un código heredado y quería reemplazar todas las ocurrencias como:
a
o
Sobre la base de la respuesta anterior y con la esperanza de que alguien se beneficie de ella, utilicé el siguiente comando, que cambiará todas las ocurrencias:
Si sustituye
%
con.
y eliminar/g
el resultado final será coneso te permitirá revisar cada partida y elegir si la cambias o no.
fuente
La mejor manera de permitirle repasar cada coincidencia es agregar una "c" al final del código, en lugar de ir línea por línea
fuente