Jak sprawić, aby nazwy buforów Dired zawierały pełną ścieżkę?


9

Często mam diredotwarte wiele buforów, w tym niektóre dla folderów o identycznych nazwach. Czasami powoduje to przełączenie na niewłaściwy, więc szukam sposobu, aby to naprawić.

Obecnie, jeśli mam otwartych wiele identycznie nazwanych folderów dired, moja lista buforów wygląda mniej więcej tak:

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

Chciałbym zawrzeć pełną nazwę ścieżki (lub jej część) w nazwie bufora, aby zobaczyć, do którego folderu faktycznie się przełączam. Wolałbym to zrobić w ten sposób:

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

i tak dalej. Mógłbym również zadowolić się np .:

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

ale wolałbym ten pierwszy, ponieważ zwykle łatwiej będzie znaleźć bufor, którego szukam najpierw po nazwie folderu, a po drugiej pełnej ścieżce. Jak można to zrobić?

Odpowiedzi:


8

Możesz uzyskać to zachowanie, używając uniquifynastępujących ustawień:

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

Należy jednak pamiętać, że uniquify działa globalnie, nie tylko na buforach buforowanych.


Fajne dzięki! Poczekam i sprawdzę, czy istnieje rozwiązanie, które daje pełną ścieżkę, zanim zaakceptuję odpowiedź.
Scott Weldon

1
Właśnie dodałem notatkę o uniquify-min-dir-content, która powinna ci w tym pomóc. Pamiętaj jednak, że jest to ustawienie globalne: dotyczy wszystkich buforów, a nie tylko buforów diodowych!
papryka

5

W moich .emacs ustawiam pełne ścieżki dla buforów Dired w ten sposób:

(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))))
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.