如何自定义dired的显示

kon*_*onr 10 emacs dired

如何使用任意函数或一组列使Dired显示其文件?基本上我想改变自:

 -rw-r--r--  1 konrad konrad  3847863 Out 18 14:17 ClojureinAction.pdf
 -rw-rw-r--  1 tamara tamara 27338341 Out 20 07:16 Halliday, Resnick, Walker - Fundamentals of Physics.pdf
 -rw-r--r--  1 konrad konrad  3921024 Set 22 11:11 Pragmatic.Programming.Clojure.May.2009.pdf
Run Code Online (Sandbox Code Playgroud)

喜欢的东西

644 1-5MB    ClojureinAction.pdf       PDF  (5 days ago, 400pgs)
664 10-100MB Halliday, Resnic...pdf    PDF  (3 days ago, 1000pgs, Tamara's)
644 1-5MB    Pragmatic.Progra...pdf    PDF  (1 min ago, 100 pages)
Run Code Online (Sandbox Code Playgroud)

谢谢!


编辑:谢谢你的回答,加雷斯,但你能说得更详细吗?显然,钩子只允许我在缓冲区加载时运行任意代码.Dired甚至不会停止加载缓冲区:(

(defun foo (&rest args) (unlocking-buffer (message "foo") (insert "foo\n")))
Run Code Online (Sandbox Code Playgroud)

看看dired的源代码,它似乎从我正在尝试替换的这些格式中获取信息,所以我想知道以这种方式改变它是否可行,或者我是否最终必须重写所有内容.

hua*_*uan 3

Dired 模式对输出格式做了很多假设ls,因此更改格式会破坏很多东西。我认为更可行的方法是不考虑格式,并使用文本属性或覆盖来更改演示文稿。