Introducción
Vim o su precursor Vi viene preinstalado en la mayoría de las distribuciones de Linux y macOS. Conocer los conceptos básicos de Vim es importante si eres un administrador de sistemas o simplemente un usuario habitual de Linux.
La mayoría de las veces, cuando se trabaja con archivos de texto, es necesario eliminar una o más líneas.
Este artículo muestra cómo eliminar filas en Vim /Vi.
Eliminar una fila
El comando para eliminar una línea en Vim es dd
.
Aquí están las instrucciones paso a paso para eliminar una fila:
- Presione la
Esc
para cambiar al modo normal. - Coloque el cursor en la línea que desea eliminar.
- Escriba
dd
y presione Entrar para eliminar la línea.
Si presiona dd
varias veces, se eliminarán varias líneas.
Eliminar varias líneas
Para eliminar varias filas al mismo tiempo, preceda al dd
el número de filas a eliminar. Por ejemplo, para eliminar cinco líneas, haría lo siguiente:
- Presione la
Esc
para cambiar al modo normal. - Coloque el cursor en la primera línea que desea eliminar.
- Escriba
5dd
y presione Entrar para eliminar las siguientes cinco líneas.
Eliminar un rango de líneas
La sintaxis para eliminar un rango de filas es la siguiente:
:[start],[end]d
Por ejemplo, para eliminar las líneas 3 a 5, debe hacer lo siguiente:
- Presione la
Esc
para cambiar al modo normal. - Escriba
:3,5d
y presione Enter para borrar las líneas.
También puede utilizar los siguientes caracteres para especificar el rango:
.
(punto): la línea actual.$
- La última línea.%
: Todas las líneas.
Aquí hay unos 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 décima línea hasta el final del archivo.
Eliminar todas las líneas
Para eliminar todas las líneas, puede usar el %
que representa todas las líneas o el rango 1,$
:
- Presione la
Esc
para cambiar al modo normal. - Escriba
%d
presione Entrar para borrar todas las líneas.
Eliminar las filas que contienen un patrón
La sintaxis para eliminar varias líneas según un patrón específico es la siguiente:
:g/<pattern>/d
El comando global ( g
) le dice al comando delete ( d
) que elimine todas las líneas que contienen el archivo <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. Aquí hay unos ejemplos:
:g/foo/d
- Elimina todas las líneas que contienen la cadena "foo". También elimina la línea donde "foo" está incrustado en palabras más grandes, como "fútbol".:g!/foo/d
- Elimina todas las líneas que no contienen la cadena "foo".:g/^#/d
- Elimina todos los comentarios de un script Bash. El patrón^#
indica que cada línea comienza con#
.:g/^$/d
- Elimina todas las líneas en blanco. El^$
coincide con todas las líneas vacías.:g/^\s*$/d
- Elimina 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 caracteres de espacio en blanco (\s*
).
Conclusión
Le mostramos cómo eliminar líneas en Vim.
Si es nuevo en Vim, visite el sitio de Open Vim donde puede practicar con un tutorial interactivo.