已更改:不显示文件权限



在我的新工作中,我在Windows上使用Emacs 24,在这些特殊情况下,它的主要用途是作为文件管理器。

我想抛弃Dired显示中的所有内容,除了文件名,大小和日期。 这个问题向我展示了如何使用ls-lisp-verbosity来删除我不想要的大部分细节。

但是我还没有找到一种方法来阻止显示权限。 我已经检查了lsdir的文档,似乎没有"不显示权限"的标志。 到目前为止,我还没有在Dired中找到任何可以省略权限的内容。 这能做到吗?

最好的选择是更改ls开关,以便 Dired 不会列出这些字段。请参阅适用于您的特定平台的M-x man ls,以了解您可以使用哪些ls交换机。

如果您拥有 Emacs 24.4(或预发布开发快照),则不再需要dired-details.el(和 dired-details+.el)。只需使用(即可在显示和隐藏详细信息之间切换。

在这种情况下,您至少有两个选项来控制符号链接目标或除标题和文件行之外的所有行是否被视为要隐藏的详细信息:dired-hide-details-hide-symlink-targetsdired-hide-details-hide-information-lines .

如果更改ls开关对您没有帮助,则需要从dired-details.el调整功能dired-details-make-current-line-overlay。要隐藏的细节由第一个cond子句确定,即 this(用 ignore-errors 包装):

(dired-move-to-filename t)

该移动指向文件名的开头。 下一行是这样的:

 (make-overlay (+ 2 bol) (point))

这将创建从行首(此处bol)到文件名开头(point)的不可见叠加层。

如果您想要不同的东西,那么您需要获得所需的覆盖限制。例如,如果您希望不可见从文件大小开始,那么您可以使用查找文件大小开头的正则表达式向前搜索。

您可以通过从正则表达式中工作来提出这样的正则表达式dired-move-to-filename-regexp(在库dired.el中)。这是一个非常复杂的正则表达式,将所有内容与文件名匹配。但是您可以使用它来查找日期+时间部分,该部分是第 7 个匹配的正则表达式子组或第 2 个,具体取决于日期 + 时间是使用区域设置(西部或东部)还是使用 ISO 表示形式表示。

您可以在库dired+.el定义变量diredp-font-lock-keywords-1的代码中看到如何处理这个问题。

但同样,如果它执行您想要的操作,最好的方法是尝试使用ls开关来控制首先列出哪些字段。您可以通过使用带有 C-x d 的前缀参数轻松试验开关 - 系统会提示您选择要使用的开关。

最新更新