删除ediff-tree会话中所有文件的尾部空格

时间:2010-10-07 15:05:09

标签: shell emacs diff patch

我正在使用非常方便的 ediff-trees.el http://www.emacswiki.org/emacs/ediff-trees.el来比较我的一个项目合作伙伴提供的一堆Python代码的两个版本。

不幸的是,这些人在代码中签入尾随空格(这里和那里有额外的标签......),这会产生大量的误报差异,这使得识别变化并逐个修补它们是不可行的。

在执行 Mx ediff期间,我正在比较我正在比较的两个目录中的每个文件,有没有人知道使emacs自动从行中删除所有尾随空格的简洁方法-trees。

如果在emacs中无法自动实现这一点,那么遍历目录结构并从所有Python源文件(* .py)中删除尾随空格的shell脚本就足够了。然后我可以在执行diff之前在两个目录上运行它。

显然,这些选项有助于缓解空白问题。

(setq ediff-diff-options "-w")
(setq-default ediff-ignore-similar-regions t)

但是,经过测试,他们似乎没有解决问题。

此外,我的.emacs配置中启用了以下内容:

;; Strip trailing whitespace
(require 'ws-trim)
(global-ws-trim-mode t)
(set-default 'ws-trim-level 2)

但这并不影响在ediff-tree目录遍历中访问的文件。

1 个答案:

答案 0 :(得分:1)

  

[A] shell   遍历目录的脚本   结构并删除尾随   来自所有Python源的空白   文件(* .py)就足够了。

这应该这样做:

find . -name '*.py' -print0 | xargs -0 sed -i -e 's/\s\s*$//'