Fügen Sie alle Unterverzeichnisse in Dired ein

7

Wie kann ich alle Unterverzeichnisse des Toplevel-Verzeichnisses in Dired einfügen?

Und wie kann ich den gesamten Verzeichnisbaum einfügen, dh alle Unterverzeichnisse rekursiv?

Ich möchte die Standardschalter nicht ändern, sondern nur einmal alle Unterverzeichnisse einfügen.

Ich suche nicht nach C-u idem RSchalter und füge ihn hinzu : Er fügt Unterverzeichnisse des Verzeichnisses unter den Cursor ein. Ich möchte alle Unterverzeichnisse des Hauptverzeichnisses einfügen.

Gilles 'SO - hör auf böse zu sein'
quelle
2
Sie können find-diredohne Argumente aufrufen . Es wird ein dired Puffer mit allen Dateien und Verzeichnissen unter einem bestimmten Verzeichnis der obersten Ebene erstellt.
Juancho
2
Versuchen Sie es C-u s R RET.
Politza
Um auf den wirklich guten Vorschlag von @ politza einzugehen: C-u sist ein wirklich nützlicher dired-Befehl, mit dem Sie dired- lsSchalter bearbeiten können .
vortek

Antworten:

1

Wenn Sie die Bibliothek Dired + verwenden, ist dies einfach.

Verwenden Sie einfach M-+ M-i(Befehl diredp-insert-subdirs-recursive).

Alternativ verwenden Sie das Menü Multiple> Marked Here and Below> Insert Subdirs.

Dired + verfügt über viele Befehle, die auf die markierten Dateien und die markierten Dateien in markierten Unterverzeichnissen wirken und rekursiv gesammelt werden. Wenn keine markiert sind, wirken sich diese Befehle auf alle Dateien in allen Unterverzeichnissen aus. Alle diese Befehle befinden sich auf der Präfixtaste M-+.

Auch wenn einige Dateien oder subdirs markiert sind, ignorieren solche Befehle , die Markierungen und wirken auf alle Dateien in allen Unterverzeichnissen , wenn Sie einen bieten Präfix Argument .

diredp-insert-subdirs-recursive ist eine interaktive kompilierte Lisp-Funktion in dired+.el.

(diredp-insert-subdirs-rekursiv & optional IGNORE-MARKS-P)

Fügen Sie die markierten Unterverzeichnisse ein, einschließlich der markierten Unterverzeichnisse. Wie diredp-insert-subdirs, aber rekursiv auf Unterverzeichnisse einwirken. Die eingefügten Unterverzeichnisse sind diejenigen, die im aktuellen Dired-Puffer markiert sind, oder ALLE Unterverzeichnisse im Verzeichnis, wenn keine markiert sind. Markierte Unterverzeichnisse werden auf die gleiche Weise rekursiv behandelt (ihre markierten Unterverzeichnisse werden eingefügt ...).

Ignorieren Sie mit einem Präfixargument alle Markierungen - schließen Sie alle Dateien in diesem Dired-Puffer und alle Unterverzeichnisse rekursiv ein.

Drew
quelle