我的问题源于Emacs将编码系统头插入包含非ascii字符的源文件中:
# -*- coding: utf-8 -*-
我的同事不喜欢将这些标题检入我们的存储库.我不希望它们插入到我的文件中,因为Emacs会自动检测到该文件应该是UTF-8,因为这似乎对任何人都没有任何好处.
我想简单地将Emacs设置为自动为所有文件使用UTF-8,但它似乎不同意这个想法.为了解决这个问题,我在我的.emacs中添加了以下内容:
(prefer-coding-system 'utf-8) (setq coding-system-for-read 'utf-8) (setq coding-system-for-write 'utf-8)
这似乎并没有解决我的问题.Emacs仍然将编码系统头插入我的文件中.有人有主意吗?
编辑:
我认为这个问题与ruby-mode特别相关.我仍然不能把它关掉.
这对我有用:
(setq ruby-insert-encoding-magic-comment nil)
如此处所示
我相信你是正确的,它只发生在ruby模式.似乎ruby-mode试图通过添加行来提供帮助,这使Ruby自动检测源文件编码.
默认情况下,Emacs不会将文件变量写入您的文件.你必须要求它在你的.emacs中的某个地方这样做.尝试运行emacs -q并查看是否插入了文件变量.