Emacs dired如何设置日期/时间格式

4
现在dired以以下格式写入最后访问日期/时间:
Jun 20 14:22

如何使其可写:
20.06.2012 14:22
1个回答

5

以下是其中一个选项:

1. 您可以设置适当的变量。

 (setq ls-lisp-format-time-list  '("%d.%m.%Y %H:%M" "%d.%m.%Y %H:%M")
      ls-lisp-use-localized-time-format t)

enter image description here

解释: ls-lisp-format-time-list 是一个由两个格式字符串组成的列表,它们的工作方式与 format-time-string 函数相同。有两种格式是因为默认情况下 emacs 显示“最近”文件的时间戳分辨率高于“旧”的文件,其中最近与旧的阈值是6个月(我想是这样)。第一个用于最近文件的格式;后一个用于旧的文件。

我从来不喜欢默认行为, 我只想让文件以相同的方式显示。所以我设置了该列表以使用相同的时间格式来处理新旧文件。

2. 您可以重新定义函数 ls-lisp-format-time

例如,如果我这样做:

(defun ls-lisp-format-time (file-attr time-index now)
  "################")

然后,dired看起来就像这样:

enter image description here

该函数的原始定义在ls-lisp.el中。


如果使用GNU ls,您可以将“--time-style "+%d.%m.%Y %H:%M"”连接到dired-listing-switches中。(--time-style="... space ..."无法正确解析--这是一个emacs bug)如果您想要最近和非最近文件的不同格式,则可以使用换行符将它们分开。 - Jim Balter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接