【发布时间】:2010-11-02 09:30:56
【问题描述】:
在 OS X 10.5 Emacs 23.2 上,在 dired 模式下,如果我尝试使用前缀参数 --sort=extension 或 -X 按 dired-sort-toggle-or-edit 排序,我会得到:
insert-directory: Listing directory failed but `access-file' worked
并且dired缓冲区变空。我试过设置
(setq dired-use-ls-dired nil)
但这没有任何效果。 dired-sort-toggle-or-edit 和按扩展名排序似乎在我的 Ubuntu 机器上工作正常。有人知道发生了什么吗?
【问题讨论】:
-
非常感谢您提出这样一个有用的问题,它产生了导致解决方案的答案和 cmets。
-
嗯。我通过搜索我在 emacs 启动时开始遇到的错误发现了这个问题:
ls does not support --dired; seedired-use-ls-dired' for more details`。所以,我看到/同意符号链接不是一个好主意。我已经安装了 coreutils(感谢 Homebrew,IIRC)(包括 gls)。所以,ls-lisp 解决方案很有趣,我认为命令@Marius lists alone 也应该有效。我很好奇@hatmatrix 的解决方案是否有优势。试一试…… -
是的,Marius 的作品...让我们看看我是否喜欢这些开关...(是的,我打算尽快清理这些 cmets。)
-
我没有。建议人们在 dired-listing-switches 的值中添加 B 对我来说似乎是一个糟糕的主意——如果你不先告诉他们它做了什么!而且由于这些文件已经是灰色的,所以隐藏它们似乎不是一个好主意。我选择了
(setq dired-listing-switches "-al --human-readable --group-directories-first"); -
由于 gls 运行良好,我将跳过 ls-lisp - 因为我猜 gls 的代码更好,并且 ls-lisp 旨在处理 ls 不可用的情况。 (如果有人想让我把这 3 个 cmets 清理成 1 个答案,请 ping 我。)