Emacs 之 ediff 学习
来源:互联网 发布:秦国为何灭亡 知乎 编辑:程序博客网 时间:2024/05/22 14:15
Emacs 之 ediff 学习
diff
使用 Unix 的 diff
工具程序,你可以找到两个文件的不同之处。所比较的两个文件可能是:
- 原始文件与更改之后的文件
- 不同的两个人编辑的同一个文件(譬如,一个项目中协同工作的两个人编辑的文件)
- 不同机器上的两个文件(譬如,你的
.emacs
文件可能在家和工作场合各有一份拷贝)
对于后面两种文件,两个要比较的文件共有一个原始的文件。此种情况下, diff3
程序会轻松的帮你创建一个文件,文件内容是对原始文件所做的修改记录。
Ediff
除非两个文件的不同之处很少,否则 diff
的输出将会很难阅读。幸运的是, Emacs
提供了一个diff
的接口,称为 Ediff
,将此工作变得简单。不仅将 diff
的输出变得可读之外,Emacs
还提供了合并文件函数以及其他的应用补丁,更多的细节信息,可以参考 Ediff
的 info
文档。Emacs
还能比较不同文件夹下的两个文件,若你在不同地方工作,这个功能可能会非常有用(如你的Lisp配置文件。
用 Ediff 来比较文件
Ediff
比较的项目有:( 可用 M-x 来启动 )
-linewise-
函数比 -wordwise-
函数要快,但另一方面,-wordwise-
工作方式更好,尤其是小区域作业时。 -linewise-
一行一行地比较, -wordwise-
一个单词一个单词地比较。一些Ediff 控制命令
在 control buffer 中,按键。
比较三个文件
此种需要大都发生在两个文件共有一个原始的文件。假设 C —> A, C —> B. A与B可能都对C进行了修改,你需要知晓,究竟A和B哪个对C做了什么修改。此时就需要比较三个文件了。
假如A有一部分内容,而在B中不存在,可能是下列两种情况之一:
- A 中增添了这部分内容
- B 中删除了这部分内容
你就应该比较A B C 三个文件来确定究竟是哪种情况。
操作
有两个函数
具体操作
比较两个文件或缓冲区的所有操作,几乎都适于三个比较。不过在进行缓冲区差异区从A到B拷贝的操作略有不同:
以此类推,在 Buffer-A , Buffer-B, Buffer-C之间的操作可以很容易猜出。
Ediff Session
你可能同时要比较好多对文件,你可以同时拥有多个 Ediff
Session
。按z
挂起当前 Ediff
session
,然后启动另一个 Ediff
session
就可以了。 此时,在 control
buffer
中按 R
或是按下 M-x eregistry, 将会打开一个 *Ediff
Registry*
的缓冲区,此缓冲区包含当前运行的所有Ediff
Sessions
.可以选择一个 Ediff
session
来进入。
合并文件
比较文件目录
与版本控制系统(VC) 一块儿工作
- Emacs 之 ediff 学习
- Emacs 之 ediff 学习
- emacs中比较文件差异ediff
- 使用Emacs ediff作为git diff工具
- ediff
- ediff──emacs中比较文件异同
- Emacs下变更ediff打开比较窗口的方式
- ediff──emacs中比较文件异同
- Emacs中的文件比较与合并工具--Ediff
- emacs中对比文件差异的工具—ediff
- emacs中对比文件差异的工具—ediff
- emacs 学习之安装emacs-clang-complete-async之路
- 我的emacs 学习之旅
- Emacs 学习
- emacs学习
- 学习Emacs
- Emacs学习
- emacs学习
- 利用GetPrivateProfileString读取配置文件(.ini)
- MFC窗口风格 WS_style/WS_EX_style
- Qt 中文显示
- vs2010 安装ajax controltookit
- jquery 表格的增加删除和修改及设置奇偶行颜色
- Emacs 之 ediff 学习
- 《找你妹》爆红:接地气 用户被“你妹”吸引
- 手机滑动焦点图,滑屏
- IOS uiview一个动画的使用 写了个测试记忆力的
- C# 在字符串中添加“\r”换行符 实现lable自动换行
- .Net常见面试题整理(二)——装箱和拆箱
- 中国首创新一代交流LED白光照明光源技术
- .net 导出复杂格式的EXCEL
- arm-eabi-gcc: : No such file or directory编译错误