Respuestas:
Agregue la bandera c (en el símbolo del sistema vim):
:%s/old/new/gc
le dará un sí / no en cada aparición de 'viejo'.
La ayuda integrada 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, vaya a la sección sobre las opciones de confirmación. Captura de pantalla a continuación:
Por ejemplo, para sustituir esta y todas las coincidencias restantes, use a
.
Mark Biek señaló usando:
%s/old/new/gc
para una búsqueda global, reemplace con la confirmación de cada sustitución. Pero, también disfruto verificando interactivamente que el texto anterior coincida correctamente. Primero hago una búsqueda con una expresión regular, luego reutilizo ese patrón:
/old.pattern.to.match
%s//replacement/gc
El s//
utilizará el último patrón de búsqueda.
Creo que está buscando c
, por ejemplo s/abc/123/gc
, esto hará que VIM confirme los reemplazos. Ver: ayuda: sustituto para más información.
Usualmente uso el comando find / sustitute / next / repeat :-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
Eso de find "old"
, substitute 3 characters for "new"
, find next
,repeat substitute
, y así sucesivamente.
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 .
repetir una sustitución).
<CR>
?
Si su texto de reemplazo necesita cambiar para cada ocurrencia coincidente (es decir, no simplemente eligiendo Sí / No para aplicar un reemplazo singular), puede usar un complemento Vim que hice llamado interactivo-reemplazar .
Neovim ahora tiene una función para previsualizar la sustitución:
Imagen tomada de: https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d Documentación de la función: https://neovim.io/doc/user/options.html# 'inccommand'
nvim
función incorporada, ¡es bueno saberlo! ¡Gracias por compartir!