关于 emacs ediff-directories 中的 regexp

关于 emacs ediff-directories 中的 regexp

我想比较两个具有相似层次结构的目录。

在 Emacs 中使用“Mx ediff-directories”,系统提示我输入一个正则表达式来约束要比较的文件的名称。例如,我想比较名称以 .c 或 .h 结尾的文件。然后我输入“.*.[ch]”,但是,我发现它只对顶级目录起作用,但我希望正则表达式对所有子目录中的文件都起作用,无论其深度是多少。

任何想法?

答案1

我记得,edif-dirs 不是递归的。我自己没有尝试过,但是这个包似乎做了你想做的事:

EdiffTrees 包是 EdiffMode 的一个简单前端,可以更简单地比较两个相似的目录树。

我编写这个包是因为我经常需要比较同一目录树的两个不同版本,而 ediff-directories 在这种情况下不太有用。特别是当要比较的目录树很深并且只有少数文件发生变化时。

有关进一步说明,请参阅文件中的注释。

或者,假设您使用的是类 Unix 操作系统,您可以进入 eshell 模式 (Mx eshell),然后运行:

diff -r dir1 dir2

这确实有点像黑客行为,但是嘿,你仍然在用 emacs!

相关内容