Vim o su precursor Vi viene preinstalado en la mayoría de las distribuciones de Linux y macOS. Es importante conocer los conceptos básicos de Vim si es un administrador del sistema o simplemente un usuario habitual de Linux.

Muy a menudo, cuando trabaje con archivos de texto, deberá eliminar una o más líneas.

Este artículo muestra cómo eliminar líneas en Vim/Vi.

Eliminación de una línea

El comando para eliminar una línea en Vim es dd.

A continuación, encontrará instrucciones paso a paso para eliminar una línea:

  1. Presione la Esctecla para ir al modo normal.
  2. Coloque el cursor en la línea que desea eliminar.
  3. Escriba ddy presione Entrar para eliminar la línea.

Al presionar ddvarias veces se eliminarán varias líneas.

Eliminación de varias líneas

Para eliminar varias líneas a la vez, anteponga al ddcomando el número de líneas que desea eliminar. Por ejemplo, para eliminar cinco líneas, haría lo siguiente:

  1. Presione la Esctecla para ir al modo normal.
  2. Coloque el cursor en la primera línea que desea eliminar.
  3. Escriba 5ddy presione Entrar para eliminar las siguientes cinco líneas.

Eliminar un rango de líneas

La sintaxis para eliminar un rango de líneas es la siguiente:

:[start],[end]d

Por ejemplo, para eliminar líneas que comienzan de 3 a 5, haría lo siguiente:

  1. Presione la Esctecla para ir al modo normal.
  2. Escriba :3,5dy presione Entrar para eliminar las líneas.

También puede usar los siguientes caracteres para especificar el rango:

  • .(punto) - La línea actual.
  • $- La última línea.
  • %- Todas las líneas.

Aquí están algunos ejemplos:

  • :.,$d- Desde la línea actual hasta el final del archivo.
  • :.,1d- Desde la línea actual hasta el principio del archivo.
  • 10,$d- Desde la línea 10 hasta el final del archivo.

Eliminar todas las líneas

Para eliminar todas las líneas, puede usar el %símbolo que representa todas las líneas o el 1,$rango:

  1. Presione la Esctecla para ir al modo normal.
  2. Escriba %dy presione Entrar para eliminar todas las líneas.

Eliminación de líneas que contienen un patrón

La sintaxis para eliminar varias líneas en función de un patrón específico es la siguiente:

:g/<pattern>/d

El comando global ( g) le dice al comando de eliminación ( d) que elimine todas las líneas que contengan el <pattern>.

Para hacer coincidir las líneas que no coinciden con el patrón, agregue un signo de exclamación ( !) antes del patrón:

:g!/<pattern>/d

El patrón puede ser una coincidencia literal o una expresión regular . A continuación se muestran algunos ejemplos:

  • :g/foo/d- Eliminar todas las líneas que contengan la cadena "foo". También elimina la línea donde "foo" está incrustado en palabras más grandes, como "fútbol".
  • :g!/foo/d- Eliminar todas las líneas que no contengan la cadena "foo".
  • :g/^#/d- Eliminar todos los comentarios de un script Bash. El patrón ^#significa que cada línea comienza con #.
  • :g/^$/d- Eliminar todas las líneas en blanco. El patrón ^$coincide con todas las líneas vacías.
  • :g/^\s*$/d- Eliminar todas las líneas en blanco. A diferencia del comando anterior, esto también elimina las líneas en blanco que tienen cero o más espacios en blanco ( \s*).

Conclusión

Le mostramos cómo eliminar líneas en Vim.

Si es nuevo en Vim, visite el sitio Open Vim donde puede practicar Vim con un tutorial interactivo.

Siéntase libre de dejar un comentario si tiene alguna pregunta.