Cómo borrar todo el contenido de un archivo con Vi/Vim (rápido y sin romper nada)

Vaciar un archivo en su sitio es una tarea común en Linux: recortar un log, resetear un config o dejar limpio un dataset de pruebas. Hacerlo dentro del editor suele ser más seguro que borrar y volver a crear el archivo, porque conserva permisos, propietario y enlaces (y evita problemas si hay procesos que lo tienen abierto).

En esta guía verás:

  • Varias formas de vaciar un archivo con vi/vim
  • Por qué es más seguro vaciar que borrar y crear
  • Cómo guardar, salir o salir sin guardar después

¿Cuándo conviene vaciar un archivo y no borrarlo?

  • Logs grandes/activos: servicios pueden tener el archivo abierto; borrarlo puede causar errores o mantener espacio ocupado hasta reiniciar el proceso. Vaciarlo evita ambos problemas.
  • Temporales/cache: resetea el contenido entre ejecuciones sin cambiar ruta, permisos ni propietario.
  • Reinicio de configuraciones: a veces es más limpio vaciar y pegar una plantilla buena que gestionar ficheros nuevos, enlaces y ACLs.
  • Desarrollo/pruebas: garantiza que una ejecución no contamina a la siguiente dejando entrada/salida en blanco.

¿Por qué no borrar y recrear?

Borrar resetea permisos y propietario, puede romper enlaces (duros o simbólicos) y descolocar procesos que aún usan el archivo. Vaciar en sitio evita todo eso.


(Opcional) Crea un archivo de práctica

tr -dc '[:alnum:]\n' < /dev/urandom | head -c 1024 > /tmp/tmp.abc
vim /tmp/tmp.abc
Lenguaje del código: JavaScript (javascript)

Método 1 — ggdG (modo Normal)

Secuencia de tres órdenes:

  • gg → ir al principio del archivo
  • doperador borrar (espera un movimiento)
  • G → ir al final del archivo

Juntas, ggdG = “borra del principio al final”.

Pasos

  1. Abre el archivo: vim tu_archivo.txt
  2. Pulsa Esc para asegurar modo Normal
  3. Teclea ggdG (sin Enter) → el buffer queda vacío
  4. Pulsa i para entrar en modo Inserción si quieres escribir
  5. Guarda/sal y listo (ver abajo)

Método 2 — :%d (modo Ex / línea de comandos)

:%d borra todo el buffer con un comando Ex:

  • : → entra en modo línea de comandos
  • %todo el archivo
  • dborrar

Pasos

  1. vim tu_archivo.txt
  2. Esc para estar en modo Normal
  3. Escribe :%d y Enter → archivo vacío
  4. i si quieres insertar contenido nuevo
  5. Guarda/sal según necesites

Truco: en archivos muy grandes, :%d suele ser levemente más rápido porque es una única orden Ex.


Guardar y salir (elige una)

  • Guardar sin salir:
    • Esc, :w Enter
  • Guardar y salir:
    • Esc, :wq Enter
    • o ZZ (mayúsculas) en modo Normal
  • Salir sin guardar (descartar cambios):
    • Esc, :q! Enter

Chuleta rápida

ComandoQué haceNotas
ggdGBorra todo (modo Normal)Sin Enter
:%dBorra todo (modo Ex):%d + Enter
ddBorra la línea actualCon número repite: 5dd
uDeshacer último cambioPulsa varias veces para más
:q!Salir sin guardarDescarta cambios
:wq / ZZGuardar y salirZZ solo en modo Normal

Preguntas frecuentes

¿Cómo borro una sola línea en lugar de todo?
Usa dd en la línea deseada. Para varias líneas, antepone un número (p. ej., 10dd).

¿Puedo deshacer haber borrado todo?
Sí. Pulsa u (deshacer). Si usaste ggdG o :%d, un u trae de vuelta el contenido.

¿Diferencia entre ggdG y :%d?
Ambos vacían el archivo. ggdG es movimiento+operador en modo Normal; :%d es un único comando en modo Ex. En ficheros enormes, :%d suele ser algo más rápido.

¿Cómo vaciar y salir sin tocar el archivo en disco?
Si vaciaste por error, sal con :q! (no guarda y el archivo en disco queda igual).

¿Hay forma de truncar sin abrir Vim?
Sí, desde shell:

: > archivo          # POSIX, redirección nula
truncate -s 0 archivo
> archivo            # redirección en bash/ksh
Lenguaje del código: PHP (php)

Conservan permisos y propietario y dejan el archivo en 0 bytes al instante.


Notas finales

Una vez interiorizados, ggdG y :%d son rápidos, seguros y mantienen la metadata del archivo: perfectos para logs, configs y artefactos de prueba. Si automatizas, el truncado desde shell (: > archivo o truncate -s 0) también es fiable y fácil de scriptar.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×