Hay varias formas de hacer un search&replace global con 'vi', pero este es el comando que uso yo siempre:
:g/X/s//Y/g
Este ejemplo substituye todas las ocurrencias de "X" en el texto por "Y".
Para hacerlo confirmando cada cambio uno por uno, basta con añadir la opción 'c' al final
Para hacerlo sin tener en cuenta mayusculas y minusculas... justamente con este comando está un poco complicado porque si añadimos la opción 'i' al final solo afectará al comando 's' pero no al 'g'. Bueno, "X" es en realidad una expresión regular, así que vosotros mismos ]:-)
No os he convencido? Bueeeno, si os da pereza usar expresiones regulares para esto podeis utilizar una variante que si permite usar facilmente la opción 'i' al final (esta si que sale en el tutorial del ILUG):
:%s/X/Y/gi
Por supuesto eso mismo sin la 'i' es "case sensitive". Funciona, vale, pero pierde un poco la gracia, no? Yo sigo usando la primera variante, con el comando 'g' y expresiones regulares :-P
De todas formas hay que recordar que estamos buscando ocurrencias de eso en cualquier parte del texto, así que si queremos hacer la busqueda por "palabras completas" (i.e. no substituyendo "X" por "Y" en palabras como "estoXmola") seguramente tendremos que echar mano de las expresiones regulares, aunque sean las más simples.
Mensaje subliminal: aprende de una vez, total no te vas a librar porque no puedes ir por ahí sin saber usar las expresiones regulares ]:-)
Un truco facil, eh? Os recomiendo que intenteis averiguar como y por qué funcionan las cosas, es muy constructivo ;-)
|