ediff──emacs中比较文件异同

Ediff 是 Emacs 提供的一种实时浏览文件间不同(diff)的工具,它可以比较两个或三个文件间的不同,分别表示为 file-A, file-B 或 file-C, 也可以比较两个或三个emacs-buffer间的不同了。 Ediff的另一个强有力特性则是可以把正的比较的文件合并成第三个文件。 另外, Ediff还可以对目录进行操作。


Ediff浏览文件的差异是在Emacs的两个Buffer上进行,分别使用不同的颜色表示所存在的差异,而且Ediff对差异区域的差异进行了“细化”, diff程序只进行到“行”级别比较 ,而Ediff则是基于diff程序的输出上,对差异区域进行更细致的比较,从而得到区域内“单词”级别上的差异比较。从而使比较文件间的细致不同更加容易。

Ediff的更强功能:Ediff可以“忽略”某些细微的差别,例如有两个程序几乎相同,但是其中都些变量的命名却不一样,如bar变量在另一个程序中却 都foo,这对程序而言是“相同”,如果用一般的diff程序来查看该两程序的差别,则这种没有意义的变量名不同将充满了整个差异输出,从而不易找到真正 的“程序不同”,而使用Ediff则可以忽略这类不同,很容易就定位我们真正想要的差异。

21以上版本的Emacs已经内置了Ediff程序包,无需另外安装了。 Ediff主要提供了如下这些命令:

比较两文件:M-x ediff-files M-x ediff
比较两个Buffer:M-x ediff-buffers
比较三个文件:M-x ediff-file3 ediff3
比较三个Buffer:M-x ediff-buffer3
交互式使用一个patch:M-x ediff-patch-file epatch

Ediff命令被执行后,进行所谓的‘Ediff Session’它接受一些Ediff命令以决定Ediff的行为。具体的表现是Ediff另外建立一个窗口(称为“Quick Help window”), 当聚焦在该窗口输入则被认为是Ediff命令 ,否则仍是一般的Emacs编辑行为,即还可以实时的编辑你正在比较的文件或Buffer。

在“Quick Help window”上输入“?”使该窗口变大或是缩小,输入q并确认则完成比较退出Ediff Session。

极常用的 Session Command这些命令快捷键在“Quick Help window”上执行才有效

v ( V ):把文件-A,文件-B,文件-C(如果有),同步向下(向上)滚动,
< ( > ):把文件-A,文件-B,文件-C(如果有),同步向左(向右)滚动,
j:跳到差异区域,可以先加数值参数,如 ‘3j’则跳到第三个差异区域,‘j’则跳到第一个差异区域, 则‘-2j’跳到倒数第二个差异区域。跳到某区域后,再输入的编辑命令就是针对该区域执行,即有一个“当前区域”的概念,而‘j’命令则就是用于使用绝对 参数设置当前活动区域。
n (或 SPC 空格):跳到下一个差异区域,并设其为当前区域,
p (或 DEL):跳到前一个差异区域,并设其为当前区域,
ga ( gb gc ):根据光标在Buffer-A(或Buffer-B, Buffer-C)中的位置,设置一个离它们最近的差异区域为当前活动区域

摘自:http://guolihui.ycool.com/post.3032949.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值