Как мне остановить emacs dired mode от открытия такого количества буферов? - PullRequest
41 голосов
/ 03 декабря 2009

Когда я использую режим 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 буферов?

Ответы [ 6 ]

52 голосов
/ 03 декабря 2009

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

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

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

12 голосов
/ 03 декабря 2009

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

7 голосов
/ 03 декабря 2009

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

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

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

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

Simon

1 голос
/ 19 марта 2019

От Ха Ли, в 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
1 голос
/ 22 августа 2011

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

См. Также http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer.

0 голосов
/ 03 декабря 2009

dired-x позволяет это - выполните M-x customize-group dired-x и установите для Dired Find Subdir значение

...