regulares expresiones all regex vim

regex - expresiones - vim replace %s



Búsqueda interactiva/reemplazar expresiones regulares en Vim? (6)

Agregue la bandera c (en el símbolo del sistema de vim):

:%s/old/new/gc

le dará un mensaje de sí / no en cada aparición de ''antiguo''.

La ayuda incorporada de Vim ofrece información útil sobre las opciones disponibles una vez que se ha seleccionado la sustitución con confirmación. Utilizar:

:h :s

Luego, desplácese a la sección para confirmar las opciones. Captura de pantalla a continuación:

Por ejemplo, para sustituir esta y todas las coincidencias restantes, use a .

Conozco la expresión regular para hacer un reemplazo global,

%s/old/new/g

¿Cómo se hace para realizar una búsqueda interactiva en Vim ?


Creo que estás buscando c , por ejemplo, s/abc/123/gc , esto hará que VIM confirme los reemplazos. Ver: ayuda: sustituir por más información.


Mark Biek señaló usando:

%s/old/new/gc

para una búsqueda global reemplazar con confirmación para cada sustitución. Pero, también disfruto verificando de manera interactiva que el texto antiguo coincidirá correctamente. Primero hago una búsqueda con una expresión regular, luego reutilizo ese patrón:

/old.pattern.to.match %s//replacement/gc

La s// utilizará el último patrón de búsqueda.


Si solo quiere contar el número de ocurrencias de ''abc'', entonces puede hacer %s/abc//gn . Esto no reemplaza nada, solo informa el número de ocurrencias de ''abc''.


Si su texto de reemplazo necesita cambiar para cada aparición coincidente (es decir, no simplemente seleccionando Sí / No para aplicar un reemplazo singular), puede usar un complemento Vim que hice llamado interactive-replace .


Usualmente uso el comando buscar / sustituir / siguiente / repetir :-)

/old<CR>3snew<ESC>n.n.n.n.n.n.n.

Eso es find "old" , substitute 3 characters for "new" , find next , repeat substitute , etc.

Es un dolor para las sustituciones masivas pero le permite ignorar selectivamente algunas ocurrencias antiguas (simplemente presionando n nuevamente para encontrar la siguiente en lugar de . Para repetir una sustitución).