J'ai une liste de noms de fichiers (avec chemin d'accès complet) et je veux créer un tampon Dired répertoriant cet ensemble de fichiers. Comment pourrais-je procéder?
Comment créer un tampon Dired à partir d'une liste de noms de fichiers?
Sans utiliser de dépendances externes.
(find-file your-directory-path)
pour obtenir ledired
tampon approprié (par exemple,(find-file "/tmp/")
ouvrira votretmp
répertoire dans undired
tampon).Réponses:
C-h f dired
vous dit la réponse. Passez simplementdired
, commeDIRNAME
argument, une liste qui a pour voiture le nom du tampon Dired que vous voulez (n'importe quelle chaîne) et comme cdr la liste des noms de fichiers que vous voulez lister dans le tampon. En règle générale, vous souhaitez utiliser des noms de fichiers absolus. Par exemple:Selon votre plate-forme, les noms des fichiers et répertoires inexistants que vous entrez peuvent être ignorés (non répertoriés) ou générer une erreur. Le premier se produit si vous utilisez
ls-lisp.el
(par exemple MS Windows). Vous pouvez forcer l'utilisation dels-lisp
sur n'importe quelle plate-forme, si vous le souhaitez (maisls-lisp
avec moins d'ls
options), en procédant comme suit:Si vous utilisez la bibliothèque Dired + (
dired+.el
), vous pouvez alors choisir interactivement les fichiers et répertoires à lister: donnez simplementdired
un argument de préfixe non positif (c'est-à-dire <= 0). Vous êtes ensuite invité à plusieurs reprises pour les répertoires et les noms de fichiers que vous souhaitez répertorié. Vous pouvez utiliser des caractères génériques de nom de fichier (c'est-à-dire*
pour la globalisation) pour inclure les fichiers et répertoires correspondants. UtilisezC-g
pour terminer la saisie.En d'autres termes, au lieu de répertorier un seul répertoire, le tampon Dired peut répertorier un nombre illimité de répertoires et de noms de fichiers, qui peuvent même appartenir à différentes arborescences de répertoires.
(Un argument de préfixe non négatif (c'est-à-dire> = 0) vous invite à
ls
lister les commutateurs. Ainsi, un argument de préfixe zéro vous invite à indiquer à la fois les commutateurs et les fichiers / répertoires: d'abord lesls
commutateurs, puis les fichiers / répertoires.)la source
(insert ...)
pour insérer du texte dans un tampon.dired
est une fonction elisp.(dired '("my-list" "/home/rekado/dev/script.scm" "/home/rekado/another-file"))
Évaluez simplement ceci: et vous obtenez un tampon dired contenant ces fichiers comme l'a écrit @Drew.Voici une commande pour le faire lorsque la liste des fichiers est dans un tampon, avec un fichier par ligne.
la source