J'ai maintenant ajouté cette fonctionnalité à Dired + .
Vous pouvez utiliser C-y
(commande diredp-yank-files
) pour coller des fichiers, dont vous avez copié les noms absolus dans le kill ring, dans le répertoire courant. Le "répertoire courant" est ici ce qui dired-current-directory
revient: le sous-répertoire inséré où se trouve le curseur, ou le répertoire principal Dired si le curseur n'est pas dans une liste de sous-répertoires.
Avec un préfixe arg, C-y
vous invite à la place pour le répertoire cible pour la pâte. Vous n'avez donc pas besoin d'être dans un tampon Dired pour coller des fichiers dans un répertoire.
Vous devez avoir copié les noms de fichiers dans le kill ring à l'aide de M-0 w
ou M-x diredp-copy-abs-filenames-as-kill
.
Dans Dired +, ces commandes définissent également la variable diredp-last-copied-filenames
sur la même chaîne de noms de fichiers. C-y
utilise la valeur de cette variable, pas celle qui se trouve actuellement en tête du kill ring. Cela signifie que vous n'avez pas besoin de coller immédiatement après avoir copié les noms de fichiers. Et cela signifie que vous pourriez, au lieu de copier les noms de fichiers dans le kill ring, simplement mettre les noms dans cette variable (par exemple par programme).
Lorsque vous utilisez C-y
, vous êtes invité à confirmer ( y
ou n
). Vous pouvez également appuyer sur l
(pour "liste") lorsque vous y êtes invité, pour afficher la liste des fichiers qui seront collés.
Vous pouvez également copier les fichiers marqués à partir du tampon Dired actuel et tous les fichiers marqués dans ses sous-répertoires marqués, définis récursivement . Pour cela, vous utilisez M-0 M-+ M-w
(zéro préfixe arg avec la commande diredp-copy-filename-as-kill-recursive
) ou utilisez M-x diredp-copy-abs-filenames-as-kill-recursive
.
Notez qu'avec Dired +, vous pouvez également facilement avoir un tampon Dired qui répertorie n'importe quel nombre de fichiers et de répertoires, de n'importe où. Autrement dit, les entrées répertoriées ne doivent pas nécessairement se trouver dans le même répertoire ni même dans des répertoires associés. Voir C-x D F
(commande diredp-dired-for-files
), qui se trouve dans le menu de la barre de menus Dir comme élément Fichiers fatigués situés n'importe où . Vous pouvez marquer puis coller (copier) ces fichiers arbitraires d'un tampon Dired dans n'importe quel répertoire.
Mise à jour 2019-04-22:
J'ai également ajouté la possibilité de déplacer (et pas seulement de coller) les fichiers dont vous avez copié les noms (absolus) dans le kill ring vers le répertoire actuel (ou un autre). C'est lié à C-w
Dired.
diredp-move-files-named-in-kill-ring
est une fonction Lisp interactive dans dired+.el
.
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
Déplacez les fichiers dont vous avez copié les noms absolus dans le répertoire actuel.
Avec un argument de préfixe non négatif, vous êtes plutôt invité à indiquer le répertoire cible.
Avec un argument de préfixe non positif, vous pouvez voir les détails des fichiers si vous appuyez sur l
lorsque vous êtes invité à confirmer le collage. Sinon, vous ne voyez que les noms de fichiers. Les détails que vous voyez sont définis par option
diredp-list-file-attributes
.
Vous devriez avoir copié la liste des noms de fichiers sous forme de chaîne dans le kill ring à l'aide de M-0 w
ou M-x diredp-copy-abs-filenames-as-kill
. Ces commandes définissent également la variable diredp-last-copied-filenames
sur la même chaîne. diredp-move-files-named-in-kill-ring
utilise la valeur de cette variable, pas celle qui se trouve actuellement en tête du kill ring.
En cas d'appel depuis Lisp:
- Arg optionnel
NO-CONFIRM-P
signifie ne pas demander de confirmation de déplacement.
- L'argument facultatif
DETAILS
est transmis à diredp-y-or-n-files-p
.
C-w
déplacer / renommer le fichier au lieu de le copier?. Merci