Emacs ediff,外来字符集和文本文件编码

Cal*_*laf 3 emacs encoding

每当我在文本文件中使用除拉丁语之外的字符集(混合西里尔语和拉丁语,比如说)时,我通常会选择utf-16进行编码.这样我就可以使用emacs或TextEdit编辑OS X下的文件.

但是emacs中的ediff不再起作用了.它只说"二进制文件这个和那个不同".

ediff可以以某种方式处理包含外来字符的文本文件吗?

hua*_*uan 5

自定义变量ediff-diff-options并添加选项--text.

(setq ediff-diff-options "--text")
Run Code Online (Sandbox Code Playgroud)

编辑:

Ediff调用外部程序GNU实用程序diff来计算差异; 但是,diff不了解unicode,并将unicode编码的文件视为二进制文件.选项"--text"只是强制它将输入文件视为文本文件.请参阅GNU Diffutils手册:比较和合并文件 ; 特别是1.7二进制文件和强制文本比较.