Ordenar nombres de archivos (numerados) en dired

10

Cuando Dired ordena los archivos por nombre, los ordena en orden alfabético. Eso está bien con las letras; sin embargo, cuando los nombres de los archivos comienzan con números, sería mejor ordenarlos en valores numéricos.

Ejemplo:

Así es como ordena mis archivos:

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

Quiero 1 2 3 4 ... 9 10 11 ...

Mella
fuente

Respuestas:

11

Aquí está mi configuración:

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

La parte relevante es -1v.

abo-abo
fuente
5

Además de la respuesta @ abo-abo, solo quiero citar la documentación:

dired-listing-switcheses una variable definida en `dired.el '. Su valor es "-Al --si --time-style long-iso"

Documentación: Interruptores pasados ​​a lsDired. DEBE contener la lopción. Puede contener todas las demás opciones que no se contradicen -l; puede contener incluso F, b, iy s. Vea también la variable dired-ls-F-marks-symlinksconcerniente al Finterruptor. En sistemas como MS-DOS y MS-Windows, que usan lsemulación en Lisp, algunos de los lsconmutadores no son compatibles; vea la cadena de documentos de insert-directoryin ls-lisp.elpara más detalles.

Básicamente, puede personalizar los interruptores que desea usar cuando llame ls

Nsukami _
fuente
2

Las respuestas dadas son mejores para este problema preciso porque se enganchan directamente en el comportamiento de Dired. Sin embargo, por el bien de la generalidad, quiero mencionar el sort-numeric-fieldscomando, que es específicamente para ordenar números por magnitud en lugar de lexicográficamente.

(sort-numeric-fields FIELD BEG END)

Ordenar líneas en la región numéricamente por el ARGcampo th de cada línea. Los campos están separados por espacios en blanco y numerados de 1 en adelante. El campo especificado debe contener un número en cada línea de la región, que puede comenzar con "0x" o "0" para valores hexadecimales y octales. De lo contrario, el número se interpreta de acuerdo con sort-numeric-base. Con un argumento negativo, ordena por el ARGcampo th contado desde la derecha. Llamada desde un programa, hay tres argumentos: FIELD, BEGy END. BEGy ENDespecifique la región para ordenar.

Matthew Piziak
fuente