2010-03-02 11 views
8

¿Hay alguna manera de operar directamente en una sola ventana, de modo que cuando recorro directorios no tengo n número de búferes dired para los directorios intermedios? Sin embargo, si comienzo otro búfer directo en un directorio completamente separado (del minibúfer en lugar de presionar [enter] en un subdirectorio en una instancia dired ya abierta) me gustaría retener los dos búferes dired separados ... Supongo que Estoy usando ido-dired porque tengo ido-mode pero no sé que la solución sería diferente? ¡Muchas gracias!modo individual ventana única? (emacs)

+0

Lo siento todos, hice Google para esto de antemano, ¡lo prometo! No me di cuenta de que la respuesta estaba en todas partes. Pero gracias por todas las respuestas! – hatmatrix

+0

Pregunta duplicada: http://stackoverflow.com/questions/1839313/how-do-i-stop-emacs-dired-mode-from-opening-so-many-buffers/1839493 – scottfrazer

Respuesta

17

que reducir el desorden dired-buffer golpeando un (dired-find-alternate-file) en subdirectorios, en lugar de RET; que recicla la ventana dired actual.

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

gusta esta?

(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

Si la mayoría quiere tener cada obra búfer Dired con varios subdirectorios que están todos bajo una misma jerarquía (por ejemplo, un búfer Dired para cada uno de varios proyectos en curso), puede utilizar el incorporado en i (dired-maybe-insert-subdir) y k (dired-do-kill-lines en el encabezado de un subdirector insertado para eliminarlo del búfer). Le permitirán editar múltiples directorios dentro de un solo buffer directo. Es posible que desee un pequeño comando personalizado y reasignar RET si está demasiado arraigado en la memoria muscular.