Ich habe eine Liste mit Dateinamen (mit vollständigem Pfad) und möchte einen Dired-Puffer erstellen, in dem diese Dateien aufgelistet sind. Wie würde ich das machen?
Wie erstelle ich einen Dired-Puffer aus einer Liste von Dateinamen?
Ohne externe Abhängigkeiten zu verwenden.
(find-file your-directory-path)
den entsprechendendired
Puffer abrufen (z. B.(find-file "/tmp/")
wird Ihrtmp
Verzeichnis in einemdired
Puffer geöffnet ).Antworten:
C-h f dired
sagt dir die Antwort. Übergeben Sie einfach zudired
, wie dasDIRNAME
Argument, eine Liste , die als ihr Auto Name des Dired Puffer hat man ( eine beliebige Zeichenfolge) und als cdr der Liste der Dateinamen möchten Sie im Puffer aufgelistet werden sollen. Im Allgemeinen möchten Sie absolute Dateinamen verwenden. Zum Beispiel:Abhängig von Ihrer Plattform werden die Namen nicht vorhandener Dateien und Verzeichnisse, die Sie eingeben, möglicherweise ignoriert (nicht aufgelistet) oder es kann ein Fehler auftreten. Ersteres passiert, wenn Sie
ls-lisp.el
(z. B. MS Windows) verwenden. Sie können die Verwendungls-lisp
auf jeder Plattform erzwingen , wenn Sie möchten (aberls-lisp
wenigerls
Optionen haben), indem Sie Folgendes tun:Wenn Sie die Bibliothek Dired + (
dired+.el
) verwenden, können Sie interaktiv Dateien und Verzeichnisse zum Auflisten auswählen: Geben Sie einfachdired
ein nicht positives Präfixargument an (dh <= 0). Sie werden dann wiederholt aufgefordert, die Verzeichnisse und Dateinamen einzugeben, die aufgelistet werden sollen. Sie können Platzhalter*
für Dateinamen (dh zum Globbing) verwenden, um die übereinstimmenden Dateien und Verzeichnisse einzuschließen. Verwenden SieC-g
diese Option, um die Eingabe zu beenden.Mit anderen Worten, anstatt ein einzelnes Verzeichnis aufzulisten, kann der Dired-Puffer eine beliebige Anzahl von Verzeichnissen und Dateinamen auflisten, die sogar zu verschiedenen Verzeichnisbäumen gehören können.
(Ein nicht negatives Präfix arg (dh> = 0) fordert Sie zur Eingabe der
ls
Schalter auf. Ein Null-Präfix arg fordert Sie daher auf, sowohl Schalter als auch Dateien / Verzeichnisse aufzulisten: zuerst diels
Schalter und dann die Dateien / Verzeichnisse.)quelle
(insert ...)
Text in einen Puffer einfüge.dired
ist eine Elisp-Funktion. Bewerten Sie dies einfach:(dired '("my-list" "/home/rekado/dev/script.scm" "/home/rekado/another-file"))
und Sie erhalten einen dired Puffer, der diese Dateien enthält, wie @Drew geschrieben hat.Hier ist ein Befehl, um dies zu tun, wenn sich die Liste der Dateien in einem Puffer mit einer Datei pro Zeile befindet.
quelle