2009-12-03 12 views
39

Wenn ich dired mode zum Durchsuchen und Suchen einer Datei verwenden, die ich in Emacs öffnen möchte, öffnet dired einen neuen Puffer für jedes Verzeichnis, das ich bei der Suche nach der Datei jedes Mal suche, wenn ich ein Verzeichnis mit eingeben, was ich kann am Ende mit viel Puffer ich will nicht:Wie kann ich verhindern, dass der Emacs-Dired-Modus so viele Puffer öffnet?

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

gibt es eine Möglichkeit dired wieder verwenden einen einzigen Puffer zu machen? Ich versuchte M-x customize-group für Gruppe , aber sah nichts vielversprechendes dort.

Hat jemand alternativ ein Makro, um alle offenen Puffer zu schließen?

Antwort

46

Verwenden ein

Auch 'Subdir Finden Dired' (dired-find-alternate-file) statt eingeben, siehe diese Seite:

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

+1

Genau was ich will. Entfernt sogar den dired Puffer komplett, wenn Sie die Datei auch mit 'a' öffnen! –

+2

Wie wäre es, zum übergeordneten Verzeichnis zurückzukehren? Ich benutze ^, um ein Verzeichnis nach oben zu gehen, aber dadurch wird ein neuer Dired-Puffer erstellt. – avendael

+1

@avendael siehe [die DiredReuseDirectoryBuffer Wiki-Seite] (http: //www.emacswiki.org/emacs/DiredReuseDirectoryBuffer) für eine Lösung. – mgalgs

11

Beim Browsen in dired anstelle von drücken Sie die Eingabetaste, um ein Verzeichnis anzuzeigen i dann fügt es das Verzeichnis zum aktuellen Puffer hinzu.

+0

+1 Das hilft, aber ich bin mir nicht sicher, ob ich viele Verzeichnisse in einem Puffer habe. –

+1

Ich liebe diesen Trick! – swdev

+1

+1 für diese und auch die Tatsache, dass nach 'i', schlagen'^'DWIM. – assem

-1

dired-x dies erlaubt - do Mx customize-Gruppe dired-x und auf auf

+1

Versuchte dies und es scheint nicht zu funktionieren. –

+0

Ich denke, das macht etwas anderes. –

7

ich habe es nie geschafft zu bekommen wechseln-dired-find-file-Wiederverwendung-dir Reli arbeiten schön - ich habe immer noch eine Reihe von Dired-Puffern geöffnet, und ich bin mir nie ganz sicher, wie.

Kürzlich entdeckte ich dired-single (http://www.emacswiki.org/cgi-bin/wiki/dired-single.el), die für mich besser zu funktionieren scheint. Wenn Sie wollen, garantiert es einen einzelnen Dired-Buffer, und hat auch einen netten Befehl dired-single-magic-buffer, der Sie zum offenen Dired-Buffer bringt, wenn Sie einen haben, und öffnet einen, wenn Sie keinen haben.

Es gibt einige andere Alternativen, wenn es nicht die multiple dired Puffer per se ist, die nerven, so sehr, wie sie Ihre Pufferlisten verschmutzen. Beispielsweise verfügt elscreen.el über ein dired-Plugin, das die dired-Puffer in einer eigenen Registerkarte behält, und der ausgezeichnete ibuffer-Modus ermöglicht es Ihnen, dired-Puffer zusammenzufassen, wenn Sie Puffer auflisten.

Hoffe, dass hilft!

Simon