Dired #
Dired (DIRectory EDitor) es una excelente herramienta que nos facilita navegar por nuestros directorios y archivos sin tener que salir de Emacs. Básicamente lo que hace es listar (ls) el contenido del directorio que le indiquemos y permitirnos ciertas acciones sobre el mismo.
Mi configuración #
Esta es la configuración que utilizo en mi init.el (requiere use-package). Puedes ver mi configuración completa acá.
(use-package dired
:ensure nil
:config
(setq dired-recursive-copies 'always)
(setq dired-listing-switches "--group-directories-first -alh"))
El paquete dired-hide-dotfiles nos permite ignorar los archivos ocultos por defecto. Con . podremos mostrarlos u ocultarlos nuevamente.
(use-package dired-hide-dotfiles
:after dired
:hook (dired-mode . dired-hide-dotfiles-mode)
:config
(define-key dired-mode-map "." #'dired-hide-dotfiles-mode))
Con dired-open podemos indicarle a Emacs con qué programa deseamos abrir ciertas extensiones específicas:
(use-package dired-open
:after dired
:config
(setq dired-open-extensions '(("mp3" . "mpv")
("mp4" . "mpv")
("mkv" . "mpv")
("png" . "sxiv")
("jpg" . "sxiv")
("jpeg" . "sxiv"))))
Cómo lanzar dired #
Estando dentro de Emacs lo podemos invocar con la combinación de teclas C-x d o con el comando M-x dired.
Si queremos abrir una terminal con emacs y dired de una sola vez, podemos asignar un atajo de teclado al siguiente comando:
st -e emacs -nw --execute='(dired "~/")'
En mi caso, esto abre mi terminal de preferencia (st) con Emacs y dired en el directorio home. Funciona a la perfección, así que lo uso como navegador de archivos determinado en dwm.
Atajos de utilidad #
| ATAJO | ACCIÓN |
|---|---|
| n/p | Avanzar/retroceder líneas (también sirven las flechas) |
| RET | Visitar directorio/archivo |
| o | Abrir archivo en otra ventana |
| + | Crear directorio |
| i | Mostrar directorio en la misma ventana |
| C | Copiar archivo a |
| R | Renombrar/mover archivo a |
| D | Borrar archivo |
| d | Seleccionar para borrar |
| u | Deshacer selección |
| U | Deshacer selección a todo |
| x | Ejecutar borrado de selección |
| M | chmod |
| O | chown |
| q | Cerrar ventana de dired |