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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows 7的Emacs 24.3.1中,如何在dired中首先对目录进行分组?相关的知识,希望对你有一定的参考价值。

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

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

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

[编辑]根据下面的答案,dired-sort-menu似乎确实有效 - 见下面的截图。

答案

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

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

另一答案

如果您使用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
另一答案

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

另一答案

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

另一答案

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

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

以上是关于在Windows 7的Emacs 24.3.1中,如何在dired中首先对目录进行分组?的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 中的主目录和 .emacs 文件

7.Emacs进阶之模式

Window 7 上的 Emacs 将文件保存到 VirtualStore 目录

如何在 Emacs 中禁用自动填充模式?

在 Cygwin 中构建 Emacs 时,目标“自动加载”的配方失败

Emacs 快速指南(中文翻译)