2010-03-02 3 views
8

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

+0

Извините, я сделал это заблаговременно, я обещаю! Не понял, что ответ был повсюду. Но спасибо за все ответы! – hatmatrix

+0

Повторяющийся вопрос: http://stackoverflow.com/questions/1839313/how-do-i-stop-emacs-dired-mode-from-opening-so-many-buffers/1839493 – scottfrazer

ответ

17

я уменьшить dired-buffer беспорядок, нажав (dired-find-alternate-file) на подкаталоги, а не RET; который перерабатывает текущее оконное окно.

11

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... 
1

Как это?

(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) 
)) 
1

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

Смежные вопросы