Вопрос

Есть ли способ заставить Dired работать в одном окне, чтобы при прохождении через каталоги у меня не было n количества буферов Dired для промежуточных каталогов?Однако, если я запускаю другой буфер прямого доступа в совершенно отдельном каталоге (из минибуфера, а не нажимаю [enter] в подкаталоге в уже открытом экземпляре прямого доступа), я бы хотел сохранить два отдельных буфера прямого управления...Наверное, я использую ido-dired, так как у меня включен ido-mode, но я не знаю, будет ли решение другим?Большое спасибо!

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

Решение

Я уменьшаю dired-buffer беспорядок, ударив а (dired-find-alternate-file) в подкаталогах, а не РЭТ;который перезапускает текущее удаленное окно.

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

http://www.emacswiki.org/emacs/dired-single.el

;;; dired-single.el --- Reuse the current dired buffer to visit another directory...

;;; Commentary:
;;
;;  This package provides a way to reuse the current dired buffer to visit
;;  another directory (rather than creating a new buffer for the new directory).
;;  Optionally, it allows the user to specify a name that all such buffers will
;;  have, regardless of the directory they point to...

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

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

Так?

(defadvice dired-find-file (around kill-old-buffer activate)
    "When navigate from one dired buffer to another, kill the old one."
    (let ((old-buffer (current-buffer))
          (new-buffer (dired-get-filename))) 
      ad-do-it
      (kill-buffer old-buffer)
      (switch-to-buffer new-buffer)
))

Если вы в основном хотите, чтобы каждый направляемый буфер работал с различными подкаталогами, которые находятся в одной иерархии (например,один буфер для каждого из нескольких текущих проектов), вы можете использовать встроенный i (dired-возможно-вставить-подкаталог) и k (линии Dired-Do-Kill в заголовке вставленного подкаталога, чтобы удалить его из буфера).Они позволят вам редактировать несколько каталогов внутри одного буфера.Возможно, вам понадобится небольшая пользовательская команда и переназначить RET если это слишком укоренилось в вашей мышечной памяти.

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