Classificar nomes de arquivos (numerados) em dired

10

Quando Dired classifica arquivos por nome, ele classifica em ordem alfabética. Tudo bem com letras; no entanto, quando os nomes dos arquivos começam com números, seria melhor classificar o valor numérico.

Exemplo:

É assim que o dired classifica meus arquivos:

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

Eu quero 1 2 3 4… 9 10 11…

usuario
fonte

Respostas:

11

Aqui está a minha configuração:

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

A parte relevante é -1v.

abo-abo
fonte
5

Além da resposta @ abo-abo, só quero citar a documentação:

dired-listing-switchesé uma variável definida em `dired.el '. Seu valor é "-Al --si - time-style long-iso"

Documentação: Switches passados ​​para lspara Dired. DEVE conter a lopção. Pode conter todas as outras opções que não contradizem -l; pode conter ainda F, b, ie s. Veja também a variável dired-ls-F-marks-symlinksreferente ao Fswitch. Em sistemas como o MS-DOS e o MS-Windows, que usam lsemulação no Lisp, algumas das lsopções não são suportadas; consulte a sequência de documentos de insert-directoryin ls-lisp.elpara obter mais detalhes.

Basicamente, você pode personalizar os comutadores que deseja direcionar ao chamar ls

Nsukami _
fonte
2

As respostas dadas são melhores para esse problema preciso, porque se conectam diretamente ao comportamento do Dired. No entanto, por uma questão de generalidade, quero mencionar o sort-numeric-fieldscomando, que é especificamente para classificar números por magnitude, e não lexicograficamente.

(sort-numeric-fields FIELD BEG END)

Classifique as linhas na região numericamente pelo ARGth th de cada linha. Os campos são separados por espaços em branco e numerados de 1 para cima. O campo especificado deve conter um número em cada linha da região, que pode começar com "0x" ou "0" para valores hexadecimais e octais. Caso contrário, o número é interpretado de acordo com sort-numeric-base. Com um argumento negativo, as ordenações pelo ARGcampo th são contadas à direita. Chamado de um programa, há três argumentos: FIELD, BEGe END. BEGe ENDespecifique a região para classificar.

Matthew Piziak
fonte