gpt4 book ai didi

sorting - 根据自定义比较器对 emacs dired 缓冲区进行排序

转载 作者:行者123 更新时间:2023-12-04 04:41:38 25 4
gpt4 key购买 nike

dired 似乎没有提供一个接口(interface)来根据任意比较器函数对文件/文件夹进行排序。 (默认情况下,它只允许按名称和日期排序)。

我一直在研究源代码以确定这种排序的机制,我发现它是对 (revert-buffer) 的调用。在 dired-sort-toggle (在 dired.el 中)进行重新显示。这让我意识到 dired 只是运行带有某些开关的 ls 命令,然后将输出读入缓冲区。

有没有比将 dired 的 ls 函数指向自定义排序更好的方法来实现这种自定义排序?我觉得可能有一个变量在 dired 缓冲区中保存文件/目录的有序列表,我可能会重新安排它。

我找到了变量 dired-subdir-alist ,但这似乎只包含顶级目录(即使根据文档,这似乎正是我想要的列表)

dired-subdir-alist is a variable defined in `dired.el'. Documentation: Association list of subdirectories and their buffer positions. Each subdirectory has an element: (DIRNAME . STARTMARKER). The order of elements is the reverse of the order in the buffer. In simple cases, this list contains one element.



我怎么能找到这样的变量?

最佳答案

你的理解是正确的。而且,正如@Stefan 所说,ls-lisp.el提供了一些灵 active 。

另见图书馆Dired Sort Menu , 至少提供了更多 ls可能性并让您组合排序顺序。 (但是,它不允许您提供任意的排序顺序——为此,请参阅 ls-lisp.el。)

关于sorting - 根据自定义比较器对 emacs dired 缓冲区进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18784708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com