Làm cách nào để đặt tên bộ đệm Dired bao gồm đường dẫn đầy đủ?


9

Tôi thường có nhiều diredbộ đệm mở, bao gồm một số cho các thư mục có tên giống hệt nhau. Thỉnh thoảng, điều này khiến tôi chuyển sang sai, vì vậy tôi đang tìm cách khắc phục điều này.

Hiện tại, nếu tôi có nhiều thư mục có tên giống hệt được mở dired, thì danh sách bộ đệm của tôi trông giống như thế này:

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

Tôi muốn bao gồm đường dẫn đầy đủ (hoặc một phần của nó) trong tên bộ đệm để tôi có thể xem thư mục nào tôi thực sự đang chuyển sang. Tôi thích làm điều đó như thế này:

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

và như thế. Tôi cũng có thể giải quyết ví dụ:

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

nhưng tôi thích cái trước hơn, vì thường sẽ dễ dàng tìm thấy bộ đệm tôi muốn theo tên thư mục trước và đường dẫn đầy đủ thứ hai. Điều này có thể giải quyết như thế nào?

Câu trả lời:


8

Bạn có thể có hành vi này bằng cách sử dụng uniquifyvới các cài đặt sau:

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

Tuy nhiên, lưu ý rằng duy nhất hoạt động trên toàn cầu, không chỉ trên các bộ đệm được chuyển hướng.


Hay quá cảm ơn! Tôi sẽ chờ xem liệu có một giải pháp nào đưa ra một con đường đầy đủ trước khi tôi chấp nhận một câu trả lời.
Scott Weldon

1
Tôi chỉ cần thêm một lưu ý về uniquify-min-dir-content, sẽ giúp bạn với điều đó. Tuy nhiên, xin lưu ý rằng đây là cài đặt toàn cục: nó áp dụng cho tất cả các bộ đệm, không chỉ bộ đệm được chuyển hướng!
ớt bột

5

Trong .emacs của tôi, tôi đặt đường dẫn đầy đủ cho bộ đệm Dired theo cách này:

(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))))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.