Dired es una de las características mas interesantes de Emacs.
Con Dired pueden buscarse archivos en los directorios, eliminarlos, renombrarlos, copiarlos, comprimirlos.... En definitiva, llevar una completa gestión de archivos y directorios sin moverse de Emacs.
Podemos activar el editor de directorios de varias formas. Através de los comandos :

En todos los anteriones casos Emacs nos pide que introduzcamos el nombre del directorio que deseamos abrir.
Otras maneras de activar Dired son:
Utilizando el comando de abrir archivos C-x C-f, pero llamando a un directorio en vez de a un archivo.
Al iniciar Emacs desde la terminal, dar el nombre del directorio que deseemos abrir como argumento : # emacs nombre_directorio.
En algunas versiones, arrastrando la carpeta del directorio dentro de la ventana de Emacs.
Emacs un buffer con el nombre del directorio abierto.La ventana que nos presenta Dired es semejante a la que se nos presentaria ejecutando el comando Unix ls - l
Podemos observar como en la barra de menús de la ventana de Dired aparecen las nuenas opciones: Operate, Mark, Regexp, Immediate y Subdir .
Para activar ( o desactivar, si está activada) la función de color en la presentación de Dired, se ejecuta el siguiente comando:
Por defecto, los archivos se listan por orden de nombre. Si deseamos cambiar el criterio de ordenación lo haremos mediante el comando:
El comando s actua de la siguiente manera ( partiendo de ordenación por nombre:
Nombre--s-->Fecha Descendente--s-->Fecha Ascentente--s-->Nombre
En la linea de modo, al lado de Dired podrá verse la información sobre el criterio de ordenación: by date o by name.
Para movernos dentros de la ventana de Dired, el ratón , las teclas de flecha y las teclas <AvPág.> y <RePág.> son las opciones más fáciles. También pueden utilizarse los siguientes comandos:
Tras esta visión global de Dired vamos a pasar a describir las principales operaciones que pueden realizarse en este entorno:
El comando que vamos a utilizar para ver archivos son:
Tecleando q o C-c, regresamos a la ventana del listado de archivos.
Para editar archivos utilizaremos los siguientes comandos:
En todos los casos,se abre un buffer en el que pueden utilizarse todas las opciones de edición que nos ofrece Emac.
Dicho buffer aparece en el listado de buffers, con el nombre del archivo abierto.
Los comandos implicados en el proceso de eliminación de archivos son:
Para eliminar un archivo desde Dired es preciso marcarlo previamente ( Excepto cuando se utiliza el comando de eliminación inmediata). Emacs señala a los archivos marcados para su eliminación colocando una letra D en su primera columna.
Pueden marcarse múltiples archivos para ser eliminados.
Antes de proceder a la eliminación de un archivo, Emacs nos pedirá confirmación, para cada uno de los archivos marcados, mediante el siguiente mensaje en el mini-buffer: Delete nombre_archivo (yes or no):.
Cuando se utiliza el comando de eliminación inmediata, también se pedirá confirmación antes de proceder a la eliminación.
Es interesante mencionar una serie de comandos que nos permiten marcar todos los archivos de un determinado tipo:
El comando utilizado en Dired para copiar archivos es:
Para copiar un archivo, situamos el cursor en su linea y ejecutamos el comando anterior.
Emacs nos pedirá, mediante un mensaje en el mini-buffer que especifiquemos la localización en que queremos situar la cópia. Copy nombre_archivo to:
Para copiar a la vez varios archivos, situados en lineas consecutivas, podemos preceder el comando de cópia, C, de un número, nº : Emacs copiará a la vez el archivo de la línea en que se encuentra el cursor y los nº-1 archivos siguientes.
Por ejemplo, 5C, copiaria el archivo de la linea del cursor más los cuatro siguientes.
El comando usado para renombrar archivos en Dired es:
Es conveniente detallar el comportamiento de este comando, ya que se comporta de forma similar a como lo hace el comando Unix mv : puede renombrar o mover archivos.
Vamos a aplicar el comando R sobre el archivo informe1, situado en el directorio ~/informes/
Cuando ejecutamos el comando , Emacs nos pide, mediante el mensaje en el mini-buffer Rename nombre_archivo to: que especifiquemos un nuevo nombre para el archivo.
Podemos observar que en el mensaje del mini-buffer se mantiene el directorio de ubicación del archivo; en el caso del ejemplo, ~/informes/.
![]() |
Introducimos el nuevo nombre, dossier1, manteniendo el directorio original como localización del archivo.
![]() |
Tras pulsar <Enter>, podemos ver como en la lista de archivos del directorio informes se ha producido el cambio de nombre.
![]() |
Ahora, en lugar de mantener la localización original del archivo la cambiamos por otra, por ejemplo, cambiando el directorio ~/informes/, por el directorio ~/dossiers/,
![]() |
Al ejecutar el comando R, el archivo se moverá al nuevo directorio especificado. Si le hemos asignado un nuevo nombre, aparecerá en el directorio destino con este nuevo nombre. Si no le hemos asignado ningún nuevo nombre, en el directorio destino aparecerá con el mismo nombre que tenia en el directorio origen. En el mini-buffer de la ventana de Dired aparecerá el mensaje Move: 1 file,
![]() |
En definitiva, si no cambiamos la ruta de acceso (path) al archivo, el comando R cambiará el nombre del archivo por el especificado.
Si cambiamos la ruta de acceso (path) al archivo, lo moverá a la nueva localización, hayamos o no asignado unnuevo nombre al archivo.
El caso presentado como ejemplo podria resumirse en la siguiente tabla:
| ~/informes/dossier1 | Cambia el nombre de informe1 por del de dossier1, manteniendo el archivo en el directorio ~/informes/ |
| /dossiers/informe1 | Mueve el archivo informe1 al directorio ~/dossiers/, manteniendo el nombre original. |
| ~/dossiers/ | Mueve el archivo informe1 al directorio ~/dossiers/, manteniendo el nombre original |
| ~/dossiers/dossier1 | Mueve el archivo informe1 al directorio ~/dossiers/, cambiando el nombre original por el de dossier1 |
Emacs utiliza el mismo comando tanto para la compresión como para la descompresión de archivos:
Aplicando el comando a un archivo no comprimido, lo comprime. Cuando se aplica a un archivo comprimido, lo descomprime.
Para la compresión, Emacs utiliza gzip, por lo que los archivos comprimidos llevarán la extensión .gz
Los formatos de compresión que reconoce son compress (extensiones, .z o .Z) y el formato gzip, (extensión, .gz)
Antes de proceder a la compresión o a la descompresión de un archivo, Emacs nos pedirá confirmación.
Emacs dispone de la posibilidad de activar un modo de compresión / descompresión automática, lo que puede facilitarnos la edición de archivos comprimidos.
Para activar ( o desactivar) el modo de compresión / descompresión automática para una determinada sesión:
Si deseamos configurar el auto-compress-mode de forma permanente, deberemos añadir la siguiente línea al fichero .emacs :
Dired nos ofrece la posibilidad de utilizar el comando Unix, diff. Lo haremos mediante los siguientes comandos:
Cuando ejecutamos el comando, Emacs nos pide que especifiquemos el nombre del archivo con el que queremos realizar la comparación.
Emacs comparará ambos archivos , abriendo un buffer, *diff* con el output.
En general, podemos ejecutar cualquier comando shell ( chmod, grep, find, sort ...etc.) sobre cualquier archivo de la ventana Dired. Para ello utilizaremos el siguiente comando:
Tras ejecutar el comando, Emacs nos solicitará que introduzcamos el comando shell que deseamos ejecutar mediante el mensaje On nombre_archivo: .
Los outputs que pueda generar el comando shell aplicado se mostrarán en una nueva ventana; *Shell Command Output*
Dired nos ofrece la posibilidad de actuar sobre más de un archivo a la vez.
Para ello deberán crearse previamente los grupos de archivos sobre los que deseamos actuar.
La creación de un grupo de archivos se realiza marcando los archivos que queremos agrupar.
Los comandos implicados en las tareas de marcado son:
Seguidamente vamos a resumir las acciones más frecuentes que suelen llevarse a cabo sobre grupos de archivos:
Utilizaremos el mismo comando que en 13.5 Dired:Renombrar archivos.
Para mover un conjunto de archivos a un nuevo directorio seguiremos los siguientes pasos:
En Dired se nos ofrece la oportunidad de poder realizar la operación de buscar-y-reemplazar sobre un conjunto de archivos en lugar de hacerlo individualmente sobre cada uno de los archivos. El comando implicado es:
El proceso a seguir es:
Una posibilidad que se nos ofrece es la de realizar una búsqueda mediante una expresión regular:
La búsqueda se detendrá al encontrar la primera coincidencia. Con el comando M- iremos pasando a las sucesivas coincidencias.
Los siguientes comandos nos permiten navegar através de los directorios de la ventana de Dired: