我有一个以:
开头的python脚本#!/usr/bin/env python
# -*- coding: ASCII -*-
在保存之前,它总是会分割我的窗口,并询问:
警告(骡子):指定了无效的编码系统`ASCII' 当前缓冲区/文件由:coding标签。 强烈建议在写入文件之前修复它。
我需要说是,有没有办法禁用它?很抱歉,我在谷歌上没有运气。
加布里埃尔
答案 0 :(得分:7)
不涉及更改脚本的解决方案是告诉Emacs ASCII
作为编码系统的含义。 (默认情况下,Emacs会将其称为US-ASCII
。)将其添加到.emacs
文件中:
(define-coding-system-alias 'ascii 'us-ascii)
然后Emacs应该能够理解# -*- coding: ASCII -*-
。
答案 1 :(得分:3)
Python增强提议(PEP)263,Defining Python Source Code Encodings讨论了许多定义源代码编码的方法。这里有两个特别的要点:
如果没有编码注释,Python的解析器将采用ASCII
所以你的文件根本不需要这个。不过,如果你想明确说明文件编码:
要定义源代码编码,必须将魔术注释作为文件中的第一行或第二行放入源文件中,例如:
# coding=<encoding name>
(请注意,=
可以替换为:
)。因此,# coding: ascii
回答建议您使用# -*- coding: ASCII -*-
代替更详细的{{1}}。这似乎让emacs感到高兴。