【问题标题】:removing trailing whitespace for all files in ediff-trees session删除 ediff-trees 会话中所有文件的尾随空格
【发布时间】:2010-10-07 15:05:09
【问题描述】:

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

不幸的是,这些人签入的代码带有尾随空格(这里和那里的额外选项卡......),这会产生大量误报差异,这使得识别更改并逐个修补它们是行不通的。

有没有人知道在执行 M-x ediff 期间访问我正在比较的两个目录中的每个文件时,让 emacs 自动从行中去除所有尾随空格的巧妙方法-树。

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

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

(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 目录遍历中访问的文件。

【问题讨论】:

    标签: shell emacs diff patch


    【解决方案1】:

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

    应该这样做:

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

    【讨论】:

    • 删除每一行的最后一个字符
    • 仅当它是空白时(\s 表示空白)。
    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多