Як я можу зробити так, щоб імена подвійних буферів включали повний шлях?


9

У мене часто diredвідкрито багато буферів, включаючи деякі для папок із однаковими назвами. Іноді це змушує мене перейти на неправильний, тому я шукаю спосіб виправити це.

Наразі, якщо в мене відкрито кілька ідентичних папок dired, мій список буферів виглядає приблизно так:

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

Я хотів би включити повний шлях (або якусь його частину) до імені буфера, щоб я міг бачити, до якої папки я переходжу. Я хотів би зробити це так:

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

і так далі. Я також міг би погодитися, наприклад:

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

але я вважаю за краще перший, тому що зазвичай буде простіше знайти буфер, який я хочу, за першою назвою папки та повним шляхом. Як це можна зробити?

Відповіді:


8

Ви можете отримати таку поведінку, скориставшись uniquifyтакими налаштуваннями:

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

Зауважте, однак, що уніфікація працює в усьому світі, а не лише на розведених буферах.


Класно, дякую! Я зачекаю і побачу, чи є рішення, яке дає повний шлях до того, як я прийму відповідь.
Скотт Велдон

1
Я щойно додав записку про те uniquify-min-dir-content, що має вам допомогти у цьому. Однак зауважте, що це глобальне налаштування: воно застосовується до всіх буферів, а не лише до буферів, що переносяться!
паприка

5

У своїх .emacs я встановлюю цілі шляхи для Dired буферів таким чином:

(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))))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.