Trier les noms de fichiers (numérotés) en dired


10

Lorsque Dired trie les fichiers par nom, il trie par ordre alphabétique. C'est bien avec les lettres; cependant, lorsque les noms de fichiers commencent par des nombres, il serait préférable de trier en valeur numérique.

Exemple:

Voici comment dired trie mes fichiers:

10 11 12 13 ... 1 21 22 23 ... 2 31

Je veux 1 2 3 4… 9 10 11…

Réponses:


11

Voici ma config:

(setq dired-listing-switches "-laGh1v --group-directories-first")

La partie pertinente est -1v.


5

Outre la réponse @ abo-abo, je veux juste citer la documentation:

dired-listing-switchesest une variable définie dans `dired.el '. Sa valeur est "-Al --si - time-style long-iso"

Documentation: commutateurs passés à lsDired. DOIT contenir l' loption. Peut contenir toutes les autres options qui ne sont pas contradictoires -l; peut contenir même F, b, iet s. Voir aussi la variable dired-ls-F-marks-symlinksconcernant le Fswitch. Sur des systèmes tels que MS-DOS et MS-Windows, qui utilisent l' lsémulation en Lisp, certains des lscommutateurs ne sont pas pris en charge; voir la chaîne doc de insert-directoryin ls-lisp.elpour plus de détails.

Fondamentalement, vous pouvez personnaliser les commutateurs que vous souhaitez utiliser lors de l'appel ls


2

Les réponses données sont meilleures pour ce problème précis car elles s'accrochent directement au comportement de Dired. Cependant, pour des raisons de généralité, je veux mentionner la sort-numeric-fieldscommande, qui est spécifiquement pour trier les nombres par ordre d'importance plutôt que lexicographiquement.

(sort-numeric-fields FIELD BEG END)

Trier les lignes dans la région numériquement par le ARGchamp e de chaque ligne. Les champs sont séparés par des espaces et numérotés à partir de 1. Le champ spécifié doit contenir un nombre dans chaque ligne de la région, qui peut commencer par "0x" ou "0" pour les valeurs hexadécimales et octales. Sinon, le nombre est interprété selon sort-numeric-base. Avec un argument négatif, trie par le ARGchamp th compté à partir de la droite. Appelé d'un programme, il y a trois arguments: FIELD, BEGet END. BEGet ENDspécifiez la région à trier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.