VIM: ¿Buscar y Reemplazar una cadena de texto?

Vim es un editor en línea de comandos muy popular en Linux. Su popularidad se debe principalmente a que puede ejecutarse en cualquier ambiente, por más complicado que sea, y ofrece un conjunto poderoso de comandos, entre ellos las famosas “expresiones regulares” de Unix).

Vayamos al grano, y dejemos un ejemplo de los clásicos que sirven para sorprender en una fiesta de usuarios Windows ;-)

Una vez ejecutado el editor, para acceder a la línea de comandos deberemos presionar los “:” (dos puntos), donde digitaremos lo siguiente:

1,$ s/eplace/Enrique Place/g


Esto significa:

  • “1″ es la primera línea donde comenzaremos la búsqueda/reemplazo
  • “$” significa la última línea donde terminaremos la búsqueda/reemplazo, en este caso “$” representa el fin del archivo (podemos sustituirla por el número de línea hasta donde queremos que llegue)
  • “s/” significa “search”, o “buscar”, y lo que aparece seguido a la barra es la cadena a buscar.
  • “/” como separador, y la cadena siguiente es el texto que reemplaza la cadena buscada
  • “/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”).

En resumen: buscar en todo el archivo que estamos editando la cadena “eplace” y la sustituye por “Enrique Place”, no importa la cantidad de veces que aparezca.

Más información, Vim Online

5 comentarios:

Luis Andres dijo...

gracias amigo justo lo ke buscaba. Este domingo le ganamos alla en uruguay.

Javisev dijo...

Exactamente lo que buscaba, muchas gracias.

Un saludo!

LLFfMH90jvWBufd3.T4CuWs5FCFkYIEnd8c- dijo...

10000000000 agradecido muy agradecido!!!

souleater dijo...

Muchas gracias Enrique, mezcle tu ejemplo y me fue muy util para reemplazar todas las palabras similares (lo posteo por si le sirve a alguien mas):
:%s/patron/reemplazo/g

Unknown dijo...

Muchas gracias!!!

Entradas populares