我有一个以以下开头的 python 脚本:
#!/usr/bin/env python
# -*- coding: ASCII -*-
在保存之前,它总是拆分我的窗口,并询问:
警告(mule): :coding 标记为当前缓冲区/文件指定了无效的编码系统 `ASCII'。强烈建议在写入文件之前修复它。
我需要说是的,有办法禁用它吗?很抱歉问,但我在谷歌上没有运气。
加布里埃尔
我有一个以以下开头的 python 脚本:
#!/usr/bin/env python
# -*- coding: ASCII -*-
在保存之前,它总是拆分我的窗口,并询问:
警告(mule): :coding 标记为当前缓冲区/文件指定了无效的编码系统 `ASCII'。强烈建议在写入文件之前修复它。
我需要说是的,有办法禁用它吗?很抱歉问,但我在谷歌上没有运气。
加布里埃尔
一个不涉及更改脚本的解决方案是告诉 EmacsASCII
作为编码系统意味着什么。(默认情况下,Emacs 会调用它US-ASCII
。)将其添加到您的.emacs
文件中:
(define-coding-system-alias 'ascii 'us-ascii)
那么 Emacs 应该可以理解# -*- coding: ASCII -*-
。
Python 增强提案 (PEP) 263,定义 Python 源代码编码,讨论了定义源代码编码的多种方法。这里有两点特别重要:
如果没有编码注释,Python 的解析器将假定为 ASCII
所以你的文件中根本不需要这个。不过,如果您确实想明确说明文件编码:
要定义源代码编码,必须将魔术注释放在源文件中,作为文件的第一行或第二行,例如:
# coding=<encoding name>
(请注意,=
可以用 a 代替:
)。所以你可以使用这个答案所建议的# coding: ascii
而不是更详细的。这似乎让 emacs 很高兴。# -*- coding: ASCII -*-