Eliminar numeros de linea con Vim

¿Quién no ha buscado código fuente en la red? Algunos sitios comparten segmentos de codigo fuente incluyendo el numero de línea, sé que lo hacen intencionalmente por que disfruntan sabiendo que debemos darnos el trabajo de eliminar las numeraciones de linea para poder compilar el codigo brindado, ademas de fijarnos en otros detalles.

Aqui una muestra clásica de un copy paste desde una pagina web hacia Vim (u otro editor):

Codigo fuente con numeros de linea

Para un segmento de codigo de unas cuantas lineas no hay ningun problema, pero si se tratan de cientos de lineas, nos tomaría varios minutos… me da pereza de solo pensarlo.

Solucion rápida: Vim nos ofrece una manera facil de reemplazar texto usando expresiones regulares. Para este caso es muy fácil armar una expresión que reconozca:

  1. Espacios en blanco al inicio ^\s*
  2. Al menos un digito (numero de línea) [0-9]\+
  3. Unos espacios mas, 0 ó 3 espacios. \s\{0,3}

La expresión regular quedaría así: ^\s*[0-9]\+\s\{0,3}, luego aplicamos la busqueda y reemplazo en todo el documento con el siguiente comando: 
:%s/^\s*[0-9]\+\s\{0,3}//g

el resultado es el siguiente:

VIM: Despues de aplicar el reemplazo grep

Las expresiones regulares son mucho mas poderosas, este es sólo un caso trivial que nos hace ganar un poco mas de tiempo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.