2010-10-07 57 views
2

我使用非常方便的ediff-trees.elhttp://www.emacswiki.org/emacs/ediff-trees.el比较由我的一个项目合作伙伴提供的一堆Python代码的两个版本。删除ediff-tree会话中所有文件的尾部空白

不幸的是,这些家伙在代码中使用尾随空白(多余的标签在这里和那里...),这是造成大量的误报差异,这使得识别的变化和修补他们一个接一个行不通。

有谁知道做的emacs从线自动去除所有尾随空白,因为它访问的每个文件在这两个目录,我的M-Xediff树的执行过程中比较的一种巧妙的方法。

如果在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树遍历目录内。

回答

1

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

这应做到:

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

非法-r选项,BSD – 2012-11-19 21:17:30

+0

更新。谢谢。 – 2012-11-19 22:07:25

+0

删除everyline的最后一个字符 – Nerian 2013-05-10 13:14:22

相关问题