代码之家  ›  专栏  ›  技术社区  ›  codeasone

删除EDIFF树会话中所有文件的尾随空格

  •  2
  • codeasone  · 技术社区  · 15 年前

    我用的非常方便 埃迪夫特雷塞尔 http://www.emacswiki.org/emacs/ediff-trees.el 比较我的一个项目合作伙伴提供的一堆Python代码的两个版本。

    不幸的是,这些人正在签入带有尾随空格的代码(这里和那里都有额外的选项卡…),这会产生大量的假阳性差异,从而识别更改并逐个修补它们是不可行的。

    是否有人知道一种让emacs在执行期间访问我比较的两个目录中的每个文件时,自动从行中删除所有尾随的空白? M—X 埃迪夫树

    如果不能在Emacs中自动实现这一点,那么可以使用一个shell脚本来遍历目录结构并从所有Python源文件(*.py)中删除尾随的空白。然后,在执行diff之前,我可以在两个目录上运行这个命令。

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

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

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

    此外,在my.emacs配置中启用了以下功能:

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

    但这并不影响在EDIFF树目录遍历中访问的文件。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Sean Bright Sean Stinehour    13 年前

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

    应该这样做:

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