我正在使用非常方便的 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目录遍历中访问的文件。
答案 0 :(得分:1)
[A] shell 遍历目录的脚本 结构并删除尾随 来自所有Python源的空白 文件(* .py)就足够了。
这应该这样做:
find . -name '*.py' -print0 | xargs -0 sed -i -e 's/\s\s*$//'