对文件名(编号)进行排序


11

当Dired按名称对文件排序时,它将按字母顺序排序。字母很好。但是,当文件名以数字开头时,最好按数字值排序。

例:

这是Dired对我的文件进行排序的方式:

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

我想要1 2 3 4…9 10 11…

Answers:


12

这是我的配置:

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

相关部分是-1v


5

除了@ abo-abo答案,我只想引用文档:

dired-listing-switches是在`dired.el'中定义的变量。其值为“ -Al --si --time-style long-iso”

文档:传递给lsDired的开关。必须包含 l选项。可能包含所有其他不矛盾的选项-l; 可能包含甚至Fbis。另请参阅dired-ls-F-marks-symlinks有关F开关的变量 。在使用lsLisp中的仿真的系统(例如MS-DOS和MS-Windows)上,ls不支持某些开关。看到的文档字符串 insert-directoryls-lisp.el的更多细节。

基本上,您可以自定义要在调用时使用的开关 ls


2

给定答案对于此精确问题更好,因为它们直接与Dired的行为挂钩。但是,为了通用起见,我要提到该sort-numeric-fields命令,该命令专门用于按数量而不是按字典顺序对数字进行排序。

(sort-numeric-fields FIELD BEG END)

ARG按每行的th字段对区域中的行进行数字排序。字段由空格分隔,并从1开始编号。指定的字段在该区域的每一行中必须包含一个数字,对于十六进制和八进制值,该数字可以以“ 0x”或“ 0”开头。否则,将根据解释数字sort-numeric-base。带有负arg时,将按ARG从右边开始计数的th字段进行排序。由一个程序调用,有三个参数:FIELDBEGENDBEGEND指定要排序的区域。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.