Как мне запретить режиму emacs dired открывать так много буферов?

StackOverflow https://stackoverflow.com/questions/1839313

  •  12-09-2019
  •  | 
  •  

Вопрос

Когда я использую dired режим просмотреть и найти файл, который я хочу открыть в Emacs, dired открывает новый буфер для каждого каталога, который я посещаю при поиске файла, каждый раз, когда я выбираю каталог с помощью Входить, а это значит, что я могу получить много ненужных буферов:

. * newer                    0  Fundamental       c:/work/stackoverflow/batch/mydir/newer
 %  mydir                  302  Dired by name     c:/work/stackoverflow/batch/mydir/
 %  batch                  616  Dired by name     c:/work/stackoverflow/batch/
 %  stackoverflow         1017  Dired by name     c:/work/stackoverflow/
 %  work                  2545  Dired by name     c:/work/
  * *scratch*              190  Lisp Interaction
 %  *Completions*          162  Completion List
  * *Messages*            2163  Fundamental

Есть ли способ сделать dired повторно использовать один буфер?Я пытался M-x customize-group для группы dired но не увидел там ничего многообещающего.

Альтернативно, есть ли у кого-нибудь макрос для закрытия всех открытых dired буферы?

Это было полезно?

Решение

Использовать а (dired-find-alternate-file) вместо Входить

Также смотрите эту страницу:

http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer

Другие советы

При просмотре в каталоге вместо нажатия Enter, чтобы увидеть использование каталога я затем он добавляет этот каталог в текущий буфер.

Мне никогда не удавалось заставить toggle-dired-find-file-reuse-dir работать надежно - у меня все еще остается открыто множество буферов, и я никогда не совсем понимаю, как это сделать.

Недавно я обнаружил dired-single(http://www.emacswiki.org/cgi-bin/wiki/dired-single.el), который, кажется, работает лучше для меня.Если вы хотите, он гарантирует единый буфер, а также имеет хорошую команду dired-single-magic-buffer, которая приведет вас к открытому буферу, если он у вас есть, и откроет его, если у вас его нет.

Есть и другие альтернативы, если это не несколько направляемых буферов. как таковой это раздражает так же, как и то, как они загрязняют ваши списки буферов.Например, у elscreen.el есть плагин dired, который хранит dired-буферы на отдельной вкладке, а отличный режим ibuffer позволяет группировать dired-буферы вместе при перечислении буферов.

Надеюсь, это поможет!

Саймон

От Кса Ли, в http://ergoemacs.org/emacs/emacs_dired_tips.html

;; Make dired open in the same window when using RET or ^
(put 'dired-find-alternate-file 'disabled nil) ; disables warning
(define-key dired-mode-map (kbd "RET") 'dired-find-alternate-file) ; was dired-advertised-find-file
(define-key dired-mode-map (kbd "^") (lambda () (interactive) (find-alternate-file "..")))  ; was dired-up-directory

Диред+ позволяет вам делать это по желанию и включать/выключать его в любое время.

Смотрите также http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer.

dired-x позволяет это сделать — выполните M-x customis-group dired-x и установите для параметра «Dired Find Subdir» значение «on».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top