Wie kann ich dafür sorgen, dass Dired-Puffernamen den vollständigen Pfad enthalten?


9

Ich habe oft viele diredPuffer geöffnet, einschließlich einiger für Ordner mit identischen Namen. Gelegentlich wechsle ich dadurch zum falschen und suche nach einer Möglichkeit, dies zu beheben.

Wenn derzeit mehrere Ordner mit identischen Namen geöffnet sind dired, sieht meine Pufferliste ungefähr so ​​aus:

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

Ich möchte den vollständigen Pfad (oder einen Teil davon) in den Puffernamen aufnehmen, damit ich sehen kann, in welchen Ordner ich tatsächlich wechsle. Ich würde es lieber so machen:

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

und so weiter. Ich könnte mich auch mit zB zufrieden geben:

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

Ersteres würde ich jedoch bevorzugen, da es normalerweise einfacher ist, den gewünschten Puffer zuerst anhand des Ordnernamens und dann anhand des vollständigen Pfads zu finden. Wie kann das gemacht werden?

Antworten:


8

Sie können dieses Verhalten uniquifymit den folgenden Einstellungen erzielen:

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

Beachten Sie jedoch, dass Uniquify global funktioniert, nicht nur in Puffern mit dired.


Cool, danke! Ich werde abwarten, ob es eine Lösung gibt, die einen vollständigen Pfad angibt, bevor ich eine Antwort akzeptiere.
Scott Weldon

1
Ich habe gerade eine Notiz hinzugefügt uniquify-min-dir-content, die Ihnen dabei helfen soll. Beachten Sie jedoch, dass dies eine globale Einstellung ist: Sie gilt für alle Puffer, nicht nur für gerichtete Puffer!
Paprika

5

In meinen .emacs habe ich folgende vollständige Pfade für Dired-Puffer festgelegt:

(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))))
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.