Comment puis-je faire en sorte que les noms de tampons Dired incluent le chemin complet?

9

J'ai souvent de nombreux diredtampons ouverts, dont certains pour les dossiers qui ont des noms identiques. Parfois, cela me fait basculer vers le mauvais, donc je cherche un moyen de résoudre ce problème.

Actuellement, si plusieurs dossiers portant le même nom sont ouverts dired, ma liste de tampons ressemble à ceci:

foo
foo<2>
bar
foo<3>
bar<2>

Je voudrais inclure le chemin complet (ou une partie de celui-ci) dans le nom du tampon afin que je puisse voir dans quel dossier je passe réellement. Je préfère le faire comme ceci:

foo</full/path/to/foo>
foo</another/path>

etc. Je pourrais aussi me contenter par exemple:

/full/path/to/foo
/another/path/foo

mais je préférerais le premier, car il sera généralement plus facile de trouver le tampon que je veux d'abord par nom de dossier et par chemin complet ensuite. Comment cela peut-il être fait?

Scott Weldon
la source

Réponses:

8

Vous pouvez obtenir ce comportement en utilisant uniquifyles paramètres suivants:

(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets
      uniquify-min-dir-content 999)

Notez cependant que l'uniquify fonctionne globalement, pas seulement sur les tampons dirigés.

paprika
la source
Cool merci! J'attendrai et verrai s'il y a une solution qui donne un chemin complet avant d'accepter une réponse.
Scott Weldon
1
Je viens d'ajouter une note sur uniquify-min-dir-contentce qui devrait vous aider. Notez cependant qu'il s'agit d'un paramètre global: il s'applique à tous les tampons, pas seulement aux tampons dirigés!
paprika
5

Dans mon .emacs, j'ai défini les chemins d'accès complets pour les tampons Dired de cette façon:

(add-hook 'dired-after-readin-hook
      (lambda ()
        ;; Set name of dired buffers to absolute directory name.
        ;; Use `generate-new-buffer-name' for vc-directory
        ;; which creates duplicate buffers.
        (rename-buffer (generate-new-buffer-name dired-directory))))
link0ff
la source