Come posso fare in modo che i nomi dei buffer di Dired includano il percorso completo?


9

Spesso ho molti diredbuffer aperti, compresi alcuni per cartelle con nomi identici. A volte, questo mi fa passare a quello sbagliato, quindi sto cercando un modo per risolvere questo problema.

Attualmente, se ho più cartelle con dirednomi identici aperti , il mio elenco di buffer è simile al seguente:

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

Vorrei includere il percorso completo (o parte di esso) nel nome del buffer in modo da poter vedere in quale cartella sto passando. Preferirei farlo in questo modo:

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

e così via. Potrei anche accontentarmi, ad esempio:

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

ma preferirei il primo, perché di solito sarà più facile trovare prima il buffer desiderato per nome della cartella e secondo percorso completo. Come si può fare?

Risposte:


8

È possibile ottenere questo comportamento utilizzando uniquifycon le seguenti impostazioni:

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

Si noti tuttavia che uniquify funziona a livello globale, non solo su buffer indirizzati.


Figo, grazie! Aspetterò e vedrò se esiste una soluzione che fornisce un percorso completo prima di accettare una risposta.
Scott Weldon,

1
Ho appena aggiunto una nota in merito uniquify-min-dir-content, che dovrebbe aiutarti in questo. Si noti tuttavia che si tratta di un'impostazione globale: si applica a tutti i buffer, non solo ai buffer indirizzati!
paprika,

5

Nel mio .emac ho impostato i percorsi completi per i buffer Dired in questo modo:

(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))))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.