Как мне запретить режиму emacs dired открывать так много буферов?
-
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
) вместо Входить
Также смотрите эту страницу:
Другие советы
При просмотре в каталоге вместо нажатия 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».