emacs diff diff 使用 Unix 的 diff 工具程序,你可以找到两个文件的不同之处。所比较的两个文件可能是:
原始文件与更改之后的文件 不同的两个人编辑的同一个文件(譬如,一个项目中协同工作的两个人编辑的文件) 不同机器上的两个文件(譬如,你的 .emacs 文件可能在家和工作场合各有一份拷贝) 对于后面两种文件,两个要比较的文件共有一个原始的文件。此种情况下, diff3 程序会轻松的帮你创建一个文件,文件内容是对原始文件所做的修改记录。
Ediff 除非两个文件的不同之处很少,否则 diff 的输出将会很难阅读。幸运的是, Emacs 提供了一个 diff 的接口,称为 Ediff ,将此工作变得简单。不仅将 diff 的输出变得可读之外, Emacs 还提供了合并文件函数以及其他的应用补丁,更多的细节信息,可以参考Ediff 的 info 文档。 Emacs 还能比较不同文件夹下的两个文件,若你在不同地方工作,这个功能可能会非常有用(如你的Lisp配置文件。
用 Ediff 来比较文件 Ediff 比较的项目有: ( 可用 M-x 来启动 )
<th> 比较项目 </th> <th> 说明 </th> ediff-regions-linewise, ediff-regions- 询问两个缓冲区的名字,然后比较相应的区域。不过你只能在每一个缓冲区中选定一个区域,而不能比较一个文件缓冲区的两个区域。( TODO: 第15个小时的内容 "了解文件" ,会提供一个比较同一个文件中的两个区域的方法。) ediff-buffers 询问两个缓冲区的名字,然后比较 ediff-files 询问两个文件的名字,加载之,然后比较 ediff-windows-linewise, ediff-windows-wordwise 让你选两个窗口,然后比较窗口的内容。 -linewise- 函数比 -wordwise- 函数要快,但另一方面, -wordwise- 工作方式更好,尤其是小区域作业时。 -linewise- 一行一行地比较, -wordwise- 一个单词一个单词地比较。 一些Ediff 控制命令 在 control buffer 中,按键。
...