VI es una herramienta muy potente para la edición de ficheros de texto. un poco tedioso y antes la tenia un poco de manía pero a medida que la voy utilizando lo estoy cogiendo hasta cariño.
Para buscar una cadena (Desde la posición del cursor en adelante):
/Cadena a buscar
Buscar desde el final, para ello cambiamos / por ?:
?Cadena a buscar
Buscamos y remplazamos:
:s/Cadena a buscar/Reemplazar/
Explicación:
s/” significa “search”, o “buscar”, y lo que aparece seguido a la barra es la cadena a buscar.
En el canso anterior solo cambiaría la primera cadena que coincidiera, para hacerlo en todas las coincidencias de una linea añadimos g al final
:s/Cadena a buscar/reemplazar/g
s/” significa “search”, o “buscar”, y lo que aparece seguido a la barra es la cadena a buscar.
“/g” para terminar significa “global” (lo opuesto sería no hacer la sustitución a todo lo que se encuentre, o hacerlo de forma “interactiva”).
Para realizar la búsqueda y reemplazo en todo el fichero deberemos añadir % delante del todo de la expresión:
:%s/Cadena a buscar/Reemplazar/
En este caso se haría para todas las lineas del texto, pero solo la primera instancia de cada linea, por lo que para hacerlo para todas las apariciones en el texto deberemos completar la expresión con una g al final:
:%s/buscar/reemplazar/g
Podemos realizar la substitución para un conjunto de lineas. Por ejemplo, para realizar la substitución entre las lineas 3 y 10 haríamos lo siguiente:
:3,10s/buscar/reemplazar/
Igualmente añadiríamos la g para realizar la substitución para todas las apariciones de la linea:
:3,10s/buscar/reemplazar/g
Información buscada en:
http://systemadmin.es/2009/06/uso-de-vi-buscar-y-reemplazar
http://enriqueplace.blogspot.com/2005/09/vim-buscar-y-reemplazar-una-cadena-de.html
http://bulma.net/body.phtml?nIdNoticia=418