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 Mancilla dijo...

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

Anónimo dijo...

Exactamente lo que buscaba, muchas gracias.

Un saludo!

Anónimo dijo...

10000000000 agradecido muy agradecido!!!

ceronccp 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