1

在总命令中,Ctrl+B 将显示当前目录下的所有文件,这将在当前窗口中递归地列出子目录下的文件。

-- 我知道在 emacs dired 中,我们可以点击运行 'dired-maybe-insert-subdir' 的 'i' 将文件列表从 ONE 子目录插入到当前 dired 缓冲区,所以问题是,如何编写函数模仿总命令“插入所有子目录”的行为?

total 命令的另一个好处是,Ctrl+f10 和 Ctrl+f12 将使我们能够从显示所有和仅显示某些具有特定扩展名的文件(例如“仅显示所有 *.mp3 文件!”)切换

-- 我的感觉是,也许我们可以调整 dired-omit 来模仿这个?

同样在总命令中,可以设置规则以突出显示在 1 天内修改/访问的文件(例如以红色显示)(日期由用户设置),这使得它们易于与旧文件区分开来,很久没碰过的文件。

- 我不确定如何实现这一点,我的猜测是编写一个函数以某种方式将访问/修改时间与“ls”选项连接起来?

4

1 回答 1

1

Dired+可以提​​供帮助。

  • 对于insert-all-subdir:使用M-+ M-i(命令diredp-insert-subdirs-recursive- 菜单Multiple > Marked Here and below > Insert Subdirs)。

    如果没有标记文件或子目录(同样,对于任何显示任何后代目录的 Dired 缓冲区),则插入所有子目录及其后代。

  • 要仅显示具有给定扩展名的文件,请使用* .(菜单Mark > Mark Extension)标记具有给定扩展名的文件。然后使用diredp-omit-unmarked, 仅显示具有该扩展名的文件。(这不绑定到键,但在菜单Mark > Omit Unmarked中。)

要突出显示晚于某个日期修改的文件,您可以修改变量的值diredp-font-lock-keywords-1。还要记住,您可以轻松地按日期等进行排序。这通常是人们所做的,以便轻松查看最近修改的文件。

于 2015-03-05T15:53:32.133 回答