2010-03-02 14 views
8

Y at-il un moyen d'avoir dired fonctionner dans une seule fenêtre de sorte que lorsque je traverse des répertoires, je n'ai pas n nombre de tampons dired pour les répertoires intermédiaires? Cependant - si je démarre un autre tampon dired dans un répertoire complètement séparé (à partir du mini-tampon plutôt que de cliquer sur [enter] sur un sous-répertoire dans une instance dired déjà ouverte) j'aimerais conserver les deux buffers dired séparés ... Je suppose J'utilise ido-dired depuis que j'ai ido-mode sur mais je ne sais pas que la solution serait différente? Merci beaucoup!mode direct fenêtre unique? (emacs)

+0

Désolé, je l'ai déjà fait pour Google, je le promets! Je n'ai pas réalisé que la réponse était partout. Mais merci pour toutes les réponses! – hatmatrix

+0

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

Répondre

17

-je réduire l'encombrement dired-buffer en appuyant sur un (dired-find-alternate-file) sur les sous-répertoires, plutôt que RET; cela recycle la fenêtre actuelle.

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

Comme cela?

(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 vous voulez la plupart du temps à faire travailler chaque tampon Dired avec divers subdirs qui sont tous sous une seule hiérarchie (par exemple, un tampon Dired pour chacun de plusieurs projets en cours), vous pouvez utiliser le (intégré idired-maybe-insert-subdir) et k (dired-do-kill-lines sur l'en-tête d'un sous-répertoire inséré pour le retirer du tampon) commandes. Ils vous permettront d'éditer plusieurs répertoires à l'intérieur d'un seul tampon. Vous pourriez vouloir une petite commande personnalisée et remapper RET si elle est trop ancrée dans votre mémoire musculaire cependant.