關於 emacs ediff-directories 中的正規表示式

關於 emacs ediff-directories 中的正規表示式

我想比較兩個具有相似層次結構的目錄。

使用 Emacs 中的“Mx ediff-directories”,系統會提示我輸入正規表示式來限制我想要比較的檔案的名稱。例如,我想比較名稱以.c或.h結尾的檔案。然後我輸入“.*.[ch]”,但是我發現它只對頂級目錄生效,但我希望正則表達式對所有子目錄中的文件生效,無論深度如何這是。

任何想法?

答案1

我記得,edif-dirs 不是遞歸的。我自己沒試過,但是這個包似乎做你想做的事:

EdiffTrees 套件是 EdiffMode 的簡單前端,可以更簡單地比較兩個相似的目錄樹。

我編寫這個套件是因為我經常需要比較同一目錄樹的兩個不同版本,而 ediff-directories 在這種情況下並不是很有幫助。特別是當要比較的目錄樹很深並且只有少數文件發生更改時。

有關進一步說明,請參閱文件中的註釋。

或者,假設您使用的是類 UNIX 作業系統,您可以進入 eshell 模式 (Mx eshell),然後執行:

diff -r dir1 dir2

確實有點 hack,但是嘿,你還在 emacs 中!

相關內容