在Windows 7的Emacs 24.3.1中,如何在dired中首先对目录进行分组?

时间:2013-09-16 08:41:22

标签: sorting emacs dired

我最近开始认真地使用dired,在this question的一个答案中给出了使用 C-x C-j 的建议。 “跳跃”功能与承诺的一样有用,并且让我认真地调查dired。一个障碍是我无法将目录分组到dired缓冲区中的文件上方。我已经尝试将以下内容放在我的.emacs.d文件中,但它没有任何效果,大概是因为我在Windows上运行。

(setq dired-listing-switches "--group-directories-first -alh")

如何在Windows 7中的dired缓冲区中的文件上方实现分组目录?

[编辑]根据下面的答案,dired-sort-menu似乎确实有效 - 请参阅以下屏幕截图。

dired-sort-menu screenshot

5 个答案:

答案 0 :(得分:6)

如果您使用ls仿真,实际上有一个选项,就像在Windows上一样:

(setq ls-lisp-dirs-first t)

有关所有选项,请参阅(customize-group'ls-lisp)。有一些有用的 -

; hide the link count, user, and group columns - default is '(links uid gid)
(setq ls-lisp-verbosity nil)

; use ISO dates (the first is for recent dates, second for old dates)
(setq ls-lisp-format-time-list '("%Y-%m-%d %H:%M" "%Y-%m-%d %H:%M"))
(setq ls-lisp-use-localized-time-format t)

给你一个这样的清单 -

total used in directory 27734 available 171804716
dr-xr-xr-x       40960 2015-02-12 00:47 .
drwxrwxrwx       16384 2015-02-11 17:37 ..
dr-xr-xr-x       32768 2015-02-07 09:41 bookshelf
drwxrwxrwx       12288 2014-12-03 00:06 library
drwxrwxrwx        8192 2014-08-17 08:21 office
dr-xr-xr-x       16384 2015-02-10 19:54 projects
-rw-rw-rw-       14073 2015-01-31 17:25 android.org
-rw-rw-rw-       65736 2015-02-05 17:09 archive.org

答案 1 :(得分:0)

DiredSortMenu可能对您有所帮助。它有一个首先用目录排序的选项。

如果您不使用这样的软件包,您可以通过执行Ch f RET插入目录找到Windows支持的“ls”选项(如您所知,“ - group-directories-first”不支持)。

答案 2 :(得分:0)

dired可以使用ls来获取文件列表,也可以使用一些内部Elisp代码。默认情况下,在Windows下它不使用ls(在其他系统中,默认使用ls)。 Elisp代码不支持--group-directories-first选项,因此如果您想使用它,则需要将ls-lisp-use-insert-directory-program设置为nil,以告知dired使用ls(当然,只有当您安装了ls.exe的{​​{1}}支持--group-directories-first时才会有效。

答案 3 :(得分:0)

是的,DiredSortMenu是你的朋友。 dired-sort-menu+.el增加了一些调整。此外,此EmacsWiki页面还有关于排序directories first,FWIW的更多信息。

答案 4 :(得分:0)

在Emacs 25.3.1中,目录按设置排序:

(setq dired-listing-switches "-al --group-directories-first")