26 Sep 2009

Plus qu’un explorateur de fichiers: le mode Dired d’Emacs

Category: Emacs

Le mode Dired d'Emacs est un mode puissant de manipulation de fichiers et permet de faire bien plus que n'importe quel explorateur de fichiers. Comme la plupart des extensions d'Emacs, Dired est d'un abord difficile mais une fois qu'on commence à en saisir le fonctionnement il est difficile de s'en passer.
Pour une première approche on peut lire, en anglais, le tutoriel de Xah Lee ou, en français, le paragraphe « Histoires de répertoires (Dired) » de l'excellent GNU Emacs : tutorial des tuteurs de l'ENS.
Pour personnaliser ce mode et ajouter des fonctionnalités, on peut lire, en anglais, la page EmacsWiki le concernant.

Ci-dessous la configuration que j'utilise ainsi que les extensions qu'elle utilise :

;; ------------------------------------------
;; * dired: un vrai explorateur de fichiers *
;; To edit a directory, use ‘C-x d’ (`dired’) or
;; ‘C-x 4 d’ (‘dired-other-window’)
;; or ‘C-x 5 d’ `dired-other-frame')

;; You can run the associated program in dired mode by
;; Control-Return on a specific file or you can run the program
;; directly by M-x run-associated-program
(require 'run-assoc)
(setq associated-program-alist
      '(("gnochm" "\\.chm$")
        ("acroread" "\\.pdf$")
        ("mplayer" "\\.mp3$")
        ("openoffice.org" "\\.ods$")
        ("inkscape" "\\.svg$")
        ("gqview" "\\.png\\|\\.gif\\|\\jpeg\\|\\.JPG\\|\\jpg$")
        ((lambda (file)
           (let ((newfile (concat (file-name-sans-extension
                                   (file-name-nondirectory file)) ".txt")))
             (cond
              ((get-buffer newfile)
               (switch-to-buffer newfile)
               (message "Buffer with name %s exists, switching to it" newfile))
              ((file-exists-p newfile)
               (find-file newfile)
               (message "File %s exists, opening" newfile))
              (t (find-file newfile)
                 (= 0 (call-process "antiword" file
                                    newfile t "-")))))) "\\.doc$")
        ("gv" "\\.ps$")
        ("fontforge" "\\.\\(sfd\\(ir\\)?\\|ttf\\|otf\\)$")
        ((lambda (file)
           (browse-url (concat "file:///"
                               (expand-file-name file))))
         "\\.html?$")))


(require 'dired+)
(require 'dired-sort-menu+)
(require 'dired-sort-map)
(require 'dired-details+)
(require 'dired-isearch)

(defun pi-dired-rename ()
  "Utilise le renomage en masse si plusieurs fichiers sont marqués.
Sinon, utilise un buffer dans lequel les noms de fichiers sont éditables."
  (interactive)
  (if (nth 1 (save-excursion
               (dired-map-over-marks
                (dired-get-filename nil t)
                nil nil t)))
      (dired-do-rename) ;; au moins un fichier marqué.
    (wdired-change-to-wdired-mode)))

(defun pi-dired-init ()
  "Bunch of stuff to run for dired, either immediately or when it's
        loaded."
  (interactive)
  ;; <add other stuff here>
  (define-key dired-mode-map (kbd "C-s") 'dired-isearch-forward)
  (define-key dired-mode-map (kbd "C-r") 'dired-isearch-backward)
  (define-key dired-mode-map (kbd "M-C-s") 'dired-isearch-forward-regexp)
  (define-key dired-mode-map (kbd "M-C-r") 'dired-isearch-backward-regexp)
  ;; (define-key dired-mode-map (kbd "RET") 'dired-single-buffer)
  (define-key dired-mode-map (kbd "C-RET") 'dired-find-file)
  (define-key dired-mode-map (kbd "M-RET") 'dired-find-file-other-window)
  ;; (define-key dired-mode-map [mouse-1] 'dired-single-buffer-mouse)
  (define-key dired-mode-map (kbd "<M-up>") 'dired-up-directory)
  (define-key dired-mode-map (kbd "<M-left>") 'dired-up-directory)
  (define-key dired-mode-map (kbd "<M-r>") 'toggle-dired-find-file-reuse-dir)
  (define-key dired-mode-map (kbd "R") 'pi-dired-rename) ;; Pas mieux pour renommer !
  (when (featurep 'traverselisp)
    (define-key dired-mode-map (kbd "A")
      'traverse-dired-search-regexp-in-anything-at-point)
    (define-key dired-mode-map (kbd "C-c C-z")
      'traverse-dired-browse-archive)
    (define-key dired-mode-map (kbd "C-c f")
      'traverse-dired-find-in-all-files))
  ;; (define-key dired-mode-map (kbd "SPC") 'dired-toggle-marks)
  ;; (define-key dired-mode-map "^" 'pi-dired-up-directory-single-buffer)
  )
(eval-after-load 'dired '(pi-dired-init))

    

Vous trouverez ci-dessous la carte de référence (la refcard) de cette configuration au format texte car j'aime l'ascii art et aussi pour vous donner l'occasion de découvrir l'éditeur de tableau intégré à Emacs:

(require 'table)
(add-hook 'text-mode-hook 'table-recognize)
      

Et comme ici on ne fait pas les choses à moitié, il y a aussi une version pdf accompagnée de son code source en LaTeX.

Actions de base:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|?                   |dired-summary                          |Résume les commandes de base.           |
+--------------------+---------------------------------------+----------------------------------------+
|<ret> ou e ou f     |dired-find-file                        |Exécute Dired sur un fichier ou un      |
|                    |                                       |répertoire.                             |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|a                   |dired-find-alternate-file              |Visite le fichier ou le répertoire en   |
|                    |                                       |utilisant le buffer courant; cela ne    |
|                    |                                       |crée pas de nouveau buffer.             |
+--------------------+---------------------------------------+----------------------------------------+
|+                   |dired-create-directory                 |Crée un répertoire                      |
+--------------------+---------------------------------------+----------------------------------------+
|C                   |dired-do-copy                          |Copie tous les fichiers marqués ou le   |
|                    |                                       |fichiers courant. Cette commande copie  |
|                    |                                       |aussi les liens symboliques (comme cp   |
|                    |                                       |-d).                                    |
+--------------------+---------------------------------------+----------------------------------------+
|D                   |dired-do-delete                        |Supprime tous les fichiers marqués ou le|
|                    |                                       |fichier courant.                        |
+--------------------+---------------------------------------+----------------------------------------+
|R                   |pi-dired-rename                        |Utilise le renomage en masse si         |
|                    |                                       |plusieurs fichiers sont marqués. Sinon, |
|                    |                                       |utilise un buffer dans lequel les noms  |
|                    |                                       |de fichiers sont éditables (C-c C-c pour|
|                    |                                       |valider et C-c ESC pour annuler).       |
+--------------------+---------------------------------------+----------------------------------------+
|r                   |diredp-rename-this-file                |Renome le fichier courant.              |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|g                   |revert-buffer                          |Recharge le buffer.                     |
+--------------------+---------------------------------------+----------------------------------------+
|<C-return>          |dired-run-associated-program           |Exécute le programme associé au fichier |
|                    |                                       |courant. Si le fichier est un           |
|                    |                                       |répertoire, appelle `dired-find-file'.  |
+--------------------+---------------------------------------+----------------------------------------+
|v                   |dired-view-file                        |Examine le fichier en lecture seulement.|
+--------------------+---------------------------------------+----------------------------------------+
|^ ou M-left ou M-up |dired-up-directory                     |Exécute Dired dans le répertoire parent.|
+--------------------+---------------------------------------+----------------------------------------+
|m OU * m            |dired-mark                             |Marque le fichier courant.              |
+--------------------+---------------------------------------+----------------------------------------+
|u OU * u            |dired-unmark                           |Enlève la marque du fichier courant.    |
+--------------------+---------------------------------------+----------------------------------------+
|U ou * !            |dired-unmark-all-marks                 |Enlève les marques à tous les fichiers  |
+--------------------+---------------------------------------+----------------------------------------+
|C-k ou <deleteline> |diredp-delete-this-file                |Supprime le fichier sous le curseur     |
|                    |                                       |après confirmation.                     |
+--------------------+---------------------------------------+----------------------------------------+
|( ou )              |dired-details-toggle                   |Bascule la visibilité des détails.      |
+--------------------+---------------------------------------+----------------------------------------+
|! ou X              |dired-do-shell-command                 |Exécute une commande shell sur les      |
|                    |                                       |fichiers marqués, à défaut sur le       |
|                    |                                       |fichier courant (C-u ! pour le          |
|                    |                                       |forcer). Les caractères * et ? peuvent  |
|                    |                                       |avoir un comportement particulier dans  |
|                    |                                       |la commande; lire la documentation !    |
+--------------------+---------------------------------------+----------------------------------------+

Déplacement:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|n ou <down> (resp. p|dired-next-line                        |Passe à la ligne suivante               |
|ou <up>)            |(resp. dired-previous-line)            |(resp. précédente); utile en conjonction|
|                    |                                       |avec C-u Num pour se déplacer de        |
|                    |                                       |plusieurs lignes.                       |
+--------------------+---------------------------------------+----------------------------------------+
|< (resp. >)         |dired-prev-dirline                     |Va au répertoire précédent              |
|                    |(resp. dired-next-dirline)             |(resp. suivant).                        |
+--------------------+---------------------------------------+----------------------------------------+

Tri:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|c                   |dired-sort-menu-toggle-ignore-case     |Bascule la considération de case dans le|
|                    |                                       |tri.                                    |
+--------------------+---------------------------------------+----------------------------------------+
|C-d                 |dired-sort-dialogue                    |Ouvre une boîte de dialogure pour       |
|                    |                                       |contrôler les options de tri.           |
+--------------------+---------------------------------------+----------------------------------------+
||                   |dired-sort-menu-toggle-reverse         |Inverse l'ordre du tri.                 |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|s n                 |(anonyme)                              |Trie par Nom.                           |
+--------------------+---------------------------------------+----------------------------------------+
|s s                 |(anonyme)                              |Trie par taille (Size).                 |
+--------------------+---------------------------------------+----------------------------------------+
|s t                 |(anonyme)                              |Trie par Temps.                         |
+--------------------+---------------------------------------+----------------------------------------+
|s x                 |(anonyme)                              |Trie par eXtension.                     |
+--------------------+---------------------------------------+----------------------------------------+

Propriétés des fichiers:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|( ou )              |dired-details-toggle                   |Bascule la visibilité des détails.      |
+--------------------+---------------------------------------+----------------------------------------+
|G (resp. M)         |dired-do-chgrp (resp. dired-do-chmod)  |Change le groupe (resp. mode) des       |
|                    |                                       |fichiers marqués ou du fichier courant. |
+--------------------+---------------------------------------+----------------------------------------+
|O                   |dired-do-chown                         |Change le propriétaire des fichiers     |
|                    |                                       |marqués ou du fichier courant.          |
+--------------------+---------------------------------------+----------------------------------------+
|M-m                 |diredp-chmod-this-file                 |Change le mode du fichier courant.      |
+--------------------+---------------------------------------+----------------------------------------+

Recherche/Remplace/Regexp:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|C-r (resp. C-s)     |dired-isearch-backward (resp.          |Recherche incrémentale arrière (resp.   |
|                    |dired-isearch-forward)                 |avant) seulement sur les noms de        |
|                    |                                       |fichier.                                |
+--------------------+---------------------------------------+----------------------------------------+
|Q                   |dired-do-query-replace-regexp          |Remplace dans les fichiers marqués      |
|                    |                                       |suivant une expression rationnelle. Voir|
|                    |                                       |query-replace-regexp.                   |
+--------------------+---------------------------------------+----------------------------------------+
|C-M-r (resp. C-M-s) |dired-isearch-backward-regexp          |Exécute `isearch-backward-regexp'       |
|                    |(resp. dired-isearch-forward-regexp)   |(resp. -forward-) mais la correspondance|
|                    |                                       |ne s'effectue que sur les noms de       |
|                    |                                       |fichiers.                               |
+--------------------+---------------------------------------+----------------------------------------+
|M-g                 |diredp-do-grep                         |Exécute « grep » sur les fichiers       |
|                    |                                       |marqués ou le fichier courant. Préfixe  |
|                    |                                       |C-u C-u opère sur tous les fichiers.    |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|% C                 |dired-do-copy-regexp                   |Copie les fichiers sélectionnés dont les|
|                    |                                       |nom vérifient une expression rationnelle|
|                    |                                       |donnée. Seulement la partie nominative  |
|                    |                                       |du fichier est considérée; préfixe 0    |
|                    |                                       |pour considérer aussi le nom du         |
|                    |                                       |répertoire.                             |
+--------------------+---------------------------------------+----------------------------------------+
|%r ou % R           |dired-do-rename-regexp                 |Comme précédement mais renomme au lieu  |
|                    |                                       |de copier.                              |
+--------------------+---------------------------------------+----------------------------------------+
|% H                 |dired-do-hardlink-regexp               |Comme précédement mais crée un lien en  |
|                    |                                       |dur.                                    |
+--------------------+---------------------------------------+----------------------------------------+
|% S                 |dired-do-symlink-regexp                |Comme précédement mais crée un lien     |
|                    |                                       |symbolique absolu.                      |
+--------------------+---------------------------------------+----------------------------------------+
|% Y                 |dired-do-relsymlink-regexp             |Comme précédement mais le lien          |
|                    |                                       |symbolique est relatif.                 |
+--------------------+---------------------------------------+----------------------------------------+
|% d                 |dired-flag-files-regexp                |Marque "à supprimer" les fichiers       |
|                    |                                       |vérifiant une regexp donnée.            |
+--------------------+---------------------------------------+----------------------------------------+
|% g                 |dired-mark-files-containing-regexp     |Marque les fichiers dont le contenu     |
|                    |                                       |vérifie une regexp donnée.              |
+--------------------+---------------------------------------+----------------------------------------+
|% m                 |dired-mark-files-regexp                |Marque les fichiers vérifiant un regexp |
|                    |                                       |donnée.                                 |
+--------------------+---------------------------------------+----------------------------------------+
|M-s f C-s           |dired-isearch-filenames                |Cherche une chaîne seulement dans les   |
|                    |                                       |fichiers (utilise isearch) du buffer    |
|                    |                                       |courant.                                |
+--------------------+---------------------------------------+----------------------------------------+
|M-s f C-M-s         |dired-isearch-filenames-regexp         |Comme précédement mais utilise une      |
|                    |                                       |regexp.                                 |
+--------------------+---------------------------------------+----------------------------------------+
|M-s a C-s           |dired-do-isearch                       |Cherche une chaîne dans tous les        |
|                    |                                       |fichiers marqués.                       |
+--------------------+---------------------------------------+----------------------------------------+
|M-s a C-M-s         |dired-do-isearch-regexp                |Comme précédement mais utilise une      |
|                    |                                       |regexp.                                 |
+--------------------+---------------------------------------+----------------------------------------+

Sous-répertoires:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|$                   |dired-hide-subdir                      |Cache ou décacher le répertoire courant.|
|                    |                                       |Utiliser M-x dired-hide-all pour tout   |
|                    |                                       |(dé)cacher.                             |
+--------------------+---------------------------------------+----------------------------------------+
|i                   |dired-maybe-insert-subdir              |Insère le sous-répertoire courant dans  |
+--------------------+---------------------------------------+----------------------------------------+
|C-M-n (resp. C-M-p) |dired-next-subdir                      |Va au sous-répertoire suivant           |
|                    |(resp. dired-prev-subdir)              |(resp. précédent)                       |
|                    |                                       |le buffer ($ pour le plier/déplier).    |
+--------------------+---------------------------------------+----------------------------------------+
|C-M-d (resp. C-M-u) |dired-tree-down (resp. dired-tree-up)  |Va dans le sous-répertoire suivant      |
|                    |                                       |(resp. précédent).                      |
+--------------------+---------------------------------------+----------------------------------------+
|M-$                 |dired-hide-all                         |Cache tous les sous-répertoires, ne     |
|                    |                                       |laissant apparaître que leurs entêtes.  |
+--------------------+---------------------------------------+----------------------------------------+
|M-G                 |dired-goto-subdir                      |Va au sous-répertoire spécifié.         |
+--------------------+---------------------------------------+----------------------------------------+
|* s                 |dired-mark-subdir-files                |Marque tous les fichiers (et            |
|                    |                                       |répertoires) sauf . et .. dans le       |
|                    |                                       |sous-répertoire courant.                |
+--------------------+---------------------------------------+----------------------------------------+

Marquer/Démarquer:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|m OU * m            |dired-mark                             |Marque le fichier courant.              |
+--------------------+---------------------------------------+----------------------------------------+
|u OU * u            |dired-unmark                           |Enlève la marque du fichier courant.    |
+--------------------+---------------------------------------+----------------------------------------+
|U ou * !            |dired-unmark-all-marks                 |Enlève les marques à tous les fichiers  |
+--------------------+---------------------------------------+----------------------------------------+
|M-DEL OU * ?        |dired-unmark-all-files                 |Supprime une marque donnée de tous les  |
|                    |                                       |fichiers.                               |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|t OU * t            |dired-toggle-marks                     |Inverse les marques; les fichiers       |
|                    |                                       |marqués sont no marqués et les fichiers |
|                    |                                       |non marqués deviennent marqués.         |
+--------------------+---------------------------------------+----------------------------------------+
|d                   |dired-flag-file-deletion               |Marque le fichier courant comme étant à |
|                    |                                       |supprimé; x pour effectuer la           |
|                    |                                       |suppression.                            |
+--------------------+---------------------------------------+----------------------------------------+
|<backspace> OU * DEL|dired-unmark-backward                  |Supprime la marque de la ligne          |
|                    |                                       |précédente et se déplace sur icelle.    |
+--------------------+---------------------------------------+----------------------------------------+
|x                   |dired-do-flagged-delete                |Supprime les fichirs marqués comme étant|
|                    |                                       |à supprimer.                            |
+--------------------+---------------------------------------+----------------------------------------+
|M-( OU * (          |dired-mark-sexp                        |Marques les fichiers d'attribut         |
|                    |                                       |donné. Voir la documentation pour plus  |
|                    |                                       |d'information sur les attributs.        |
+--------------------+---------------------------------------+----------------------------------------+
|M-{ (resp. M-})     |dired-prev-marked-file (resp.          |Se place sur le fichier marqué          |
|                    |dired-next-marked-file)                |précédent.                              |
+--------------------+---------------------------------------+----------------------------------------+
|C-M-*               |diredp-marked-other-window             |Ouvre Dired avec les fichiers marqués   |
|                    |                                       |dans un nouveau cadre. Cela peut        |
|                    |                                       |permettre d'avoir des fichiers de       |
|                    |                                       |différentes arborescences dans le même  |
|                    |                                       |buffer.                                 |
+--------------------+---------------------------------------+----------------------------------------+
|% d                 |dired-flag-files-regexp                |Marque "à supprimer" les fichiers       |
|                    |                                       |vérifiant une regexp donnée.            |
+--------------------+---------------------------------------+----------------------------------------+
|% g                 |dired-mark-files-containing-regexp     |Marque les fichiers dont le contenu     |
|                    |                                       |vérifie une regexp donnée.              |
+--------------------+---------------------------------------+----------------------------------------+
|% m OU * %          |dired-mark-files-regexp                |Marque les fichiers vérifiant une       |
|                    |                                       |regexp donnée.                          |
+--------------------+---------------------------------------+----------------------------------------+
|* *                 |dired-mark-executables                 |Marque les fichiers exécutables.        |
+--------------------+---------------------------------------+----------------------------------------+
|* .                 |diredp-mark/unmark-extension           |Marque les fichiers d'extension         |
|                    |                                       |donnée. si prefixe non `nil', démarque. |
+--------------------+---------------------------------------+----------------------------------------+
|* /                 |dired-mark-directories                 |Marque tous les répertoire sauf . et .. |
+--------------------+---------------------------------------+----------------------------------------+
|* @                 |dired-mark-symlinks                    |Marque les liens symboliques.           |
+--------------------+---------------------------------------+----------------------------------------+
|* O                 |dired-mark-omitted                     |Marque les fichier vérifiant les regexp |
|                    |                                       |`dired-omit-files' et                   |
|                    |                                       |`dired-omit-extensions'.                |
+--------------------+---------------------------------------+----------------------------------------+
|* c                 |dired-change-marks                     |Change une marque donnée en une autre   |
|                    |                                       |marque.                                 |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|* s                 |dired-mark-subdir-files                |Marque tous les fichiers (et            |
|                    |                                       |répertoires) sauf . et .. dans le       |
|                    |                                       |sous-répertoire courant.                |
+--------------------+---------------------------------------+----------------------------------------+

Nettoyage:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|&                   |dired-do-async-shell-command           |Comme précédement mais de façon         |
|                    |                                       |asynchrone.                             |
+--------------------+---------------------------------------+----------------------------------------+
|#                   |dired-flag-auto-save-files             |Sélectionne pour suppression les        |
|                    |                                       |fichiers de sauvegarde provisoire       |
|                    |                                       |(typiquement #nom.ext#). Préfixé, ce    |
|                    |                                       |raccourci désélectionne les fichiers de |
|                    |                                       |sauvegarde. x pour appliquer la         |
|                    |                                       |suppression.                            |
+--------------------+---------------------------------------+----------------------------------------+
|~                   |dired-flag-backup-files                |Idem que précédement avec les fichier de|
|                    |                                       |sauvegarde.                             |
+--------------------+---------------------------------------+----------------------------------------+
|.                   |dired-clean-directory                  |Sélectionne les sauvegardes numérotées  |
|                    |                                       |pour suppression. x pour appliquer la   |
|                    |                                       |suppression.                            |
+--------------------+---------------------------------------+----------------------------------------+
|% &                 |dired-flag-garbage-files               |Supprime les fichiers inutiles vérifiant|
|                    |                                       |l'expression rationnelle de la variable |
|                    |                                       |dired-garbage-files-regexp.             |
+--------------------+---------------------------------------+----------------------------------------+

Sur les fichiers Elisp:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|B                   |dired-do-byte-compile                  |Byte compile les fichiers ELisp marqués.|
+--------------------+---------------------------------------+----------------------------------------+
|b                   |diredp-byte-compile-this-file          |Byte compile le fichier courant.        |
+--------------------+---------------------------------------+----------------------------------------+
|L                   |dired-do-load                          |Charge les fichiers Elisp marqués.      |
+--------------------+---------------------------------------+----------------------------------------+

Images:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|C-t . ou C-t d      |image-dired-display-thumb              |Affiche dans le buffer                  |
|                    |                                       |`image-dired-thumbnail-buffer' les      |
|                    |                                       |miniatures de tous les fichiers marqués |
|                    |                                       |ou du fichier courant. Si préfixe, force|
|                    |                                       |le fichier courant.                     |
+--------------------+---------------------------------------+----------------------------------------+
|C-t a               |image-dired-display-thumbs-append      |Ajoute les miniatures à                 |
|                    |                                       |`image-dired-thumbnail-buffer'.         |
+--------------------+---------------------------------------+----------------------------------------+
|C-t c               |image-dired-dired-comment-files        |Ajoute un commenataire aux fichiers     |
|                    |                                       |marqués ou au fichier courant.          |
+--------------------+---------------------------------------+----------------------------------------+
|C-t e               |image-dired-dired-edit-comment-and-tags|Édite les commentaires.                 |
+--------------------+---------------------------------------+----------------------------------------+
|C-t f               |image-dired-mark-tagged-files          |Utilise une expression rationnelle      |
|                    |                                       |(regexp) pour marquer les fichiers qui  |
|                    |                                       |correspondent en cherchant dans les     |
|                    |                                       |« meta data »/« tag ».           |
+--------------------+---------------------------------------+----------------------------------------+
|C-t i               |image-dired-dired-display-image        |Affiche l'image courante. Voir          |
|                    |                                       |`image-dired-display-image' pour plus   |
|                    |                                       |d'information.                          |
+--------------------+---------------------------------------+----------------------------------------+
|C-t j               |image-dired-jump-thumbnail-buffer      |Va au buffer des miniatures.            |
+--------------------+---------------------------------------+----------------------------------------+
|C-t r               |image-dired-delete-tag                 |Supprime les « tags » des fichiers      |
|                    |                                       |marqués ou du fichier courant. Si       |
|                    |                                       |préfixe, force le fichier courant.      |
+--------------------+---------------------------------------+----------------------------------------+
|C-t t               |image-dired-tag-files                  |« Tag » les fichiers marqués ou etc...  |
+--------------------+---------------------------------------+----------------------------------------+
|C-t x               |image-dired-dired-display-external     |Affiche l'image courante dans une       |
|                    |                                       |visionneuse externe.                    |
+--------------------+---------------------------------------+----------------------------------------+

Chiffrement (encryption)
+--------------------+---------------------------------------+----------------------------------------+
|: d                 |epa-dired-do-decrypt                   |Déchiffre les fichiers marqués.         |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|: e                 |epa-dired-do-encrypt                   |Chiffre les fichiers marqués.           |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|: s                 |epa-dired-do-sign                      |Signe les fichiers marqués.             |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|: v                 |epa-dired-do-verify                    |Vérifie les fichiers marqués.           |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+


Divers:
+--------------------+---------------------------------------+----------------------------------------+
|     Raccourci      |   Commande Emacs                      |              Description               |
+--------------------+---------------------------------------+----------------------------------------+
|w                   |dired-copy-filename-as-kill            |Copie les noms des fichiers marqués dans|
|                    |                                       |le presse papier. Avec 0 comme préfixe, |
|                    |                                       |le nom contient le chemin absolu.       |
+--------------------+---------------------------------------+----------------------------------------+
|C-x C-q             |dired-toggle-read-only                 |Édite le buffer Dired avec Wdired ou le |
|                    |                                       |passe en mode « lecture seule ».        |
+--------------------+---------------------------------------+----------------------------------------+
|M-=                 |dired-backup-diff                      |Diff du fichier courant avec sa dernière|
|                    |                                       |sauvegarde.                             |
+--------------------+---------------------------------------+----------------------------------------+
|M-c                 |diredp-capitalize-this-file            |Renome le fichier courant avec la       |
|                    |                                       |première lettre en majuscules et le     |
|                    |                                       |reste en minuscules.                    |
+--------------------+---------------------------------------+----------------------------------------+
|M-l (resp. M-u)     |diredp-downcase-this-file              |Renomme le fichier courant en minuscule |
|                    |(resp. diredp-upcase-this-file)        |(resp. majuscule).                      |
+--------------------+---------------------------------------+----------------------------------------+
|M-p                 |diredp-print-this-file                 |Imprime le fichier courant.             |
+--------------------+---------------------------------------+----------------------------------------+
|% l (resp. % u)     |dired-downcase (resp. dired-upcase)    |Renome tous les fichiers marqués en     |
|                    |                                       |minuscule.                              |
+--------------------+---------------------------------------+----------------------------------------+
|M-r                 |toggle-dired-find-file-reuse-dir       |Bascule le comportement Dired de        |
|                    |                                       |find-file entre `dired-find-file' et    |
|                    |                                       |`dired-find-alternate-file'.            |
+--------------------+---------------------------------------+----------------------------------------+
|F                   |dired-do-find-marked-files             |Visite tous les fichiers marqués.       |
+--------------------+---------------------------------------+----------------------------------------+
|o ou M-RET          |dired-find-file-other-window           |Visite le fichier dans un autre cadre   |
|                    |                                       |partagé.                                |
+--------------------+---------------------------------------+----------------------------------------+
|C-M-o               |dired-display-file                     |Je n'ai pas compris la différence avec  |
|                    |                                       |le précédent (:o.                       |
+--------------------+---------------------------------------+----------------------------------------+
|C-o                 |diredp-find-file-other-frame           |Visite un fichier ou un répertoire avec |
|                    |                                       |Emacs dans une autre fenêtre.           |
+--------------------+---------------------------------------+----------------------------------------+
|j                   |dired-goto-file                        |Va au fichier donné en entrée.          |
+--------------------+---------------------------------------+----------------------------------------+
|H (resp. S)         |dired-do-hardlink                      |Crée des liens en dur                   |
|                    |(resp. dired-do-symlink)               |(resp. symboliques) des fichiers marqués|
|                    |                                       |ou du fichier courant.                  |
+--------------------+---------------------------------------+----------------------------------------+
|Y                   |dired-do-relsymlink                    |Crée un lien symbolique relatif des     |
|                    |                                       |fichiers marqués; contrairement à S où  |
|                    |                                       |les liens sont absolus.                 |
+--------------------+---------------------------------------+----------------------------------------+
|y                   |diredp-relsymlink-this-file            |Comme ci-dessus mais pour le fichier    |
|                    |                                       |courant.                                |
+--------------------+---------------------------------------+----------------------------------------+
|I (resp. N)         |dired-info (resp. dired-man)           |Exécute « info » (resp. « man ») sur le |
|                    |                                       |fichier courant.                        |
+--------------------+---------------------------------------+----------------------------------------+
|P                   |dired-do-print                         |Imprime les fichiers marqués ou le      |
|                    |                                       |fichier courant.                        |
+--------------------+---------------------------------------+----------------------------------------+
|Z                   |dired-do-compress                      |Compresse ou décompresse les fichiers   |
|                    |                                       |marqués.                                |
+--------------------+---------------------------------------+----------------------------------------+
|z                   |diredp-compress-this-file              |Comme ci-dessus mais pour le fichier    |
|                    |                                       |courant seulement.                      |
+--------------------+---------------------------------------+----------------------------------------+
|k                   |dired-do-kill-lines                    |Supprime les lignes des fichiers        |
|                    |                                       |marqués; ne supprime pas les fichiers.  |
+--------------------+---------------------------------------+----------------------------------------+
|M-o                 |dired-omit-mode                        |Bascule localement le mode              |
|                    |                                       |« Dired-Omit » les fichiers vérifiant   |
|                    |                                       |les regexp `dired-omit-files' et        |
|                    |                                       |`dired-omit-extensions' sont cachés.    |
|                    |                                       |                                        |
+--------------------+---------------------------------------+----------------------------------------+
|=                   |diredp-ediff                           |Compare le fichier courant avec un      |
|                    |                                       |deuxième.                               |
+--------------------+---------------------------------------+----------------------------------------+