首页 > 解决方案 > 让emacs识别python3 shebang

问题描述

我正在使用 emacs 编辑一些 Python 3 代码,但是当 shebang 为#! /usr/bin/env python3. 突出显示仅适用于#! /usr/bin/env python. 如何让 emacs 将 python3 shebang 识别为 Python 文件,并提供适当的语法突出显示?

编辑:我使用的是 22.1.1 版本,无法更改。

标签: python-3.xemacsshebang

解决方案


我在这里遇到了同样的问题,而 Rorschach 的另一个答案对我不起作用,也是因为我有一个无法升级的旧版本 (24.3) 的 emacs。经过反复试验,这对我有用:

将以下行添加到您的.emacs文件中:

(push '("python3" . python-mode) interpreter-mode-alist)

旧的 emacs(24.4 之前的版本)不支持正则表达式来编辑解释器模式列表,这就是为什么其他答案的建议修复不起作用的原因。

emacs 24.4 的变更日志提到了对正则表达式的新支持:“interpreter-mode-alist现在元素的汽车(原文如此)被视为正则表达式而不是文字字符串。”


推荐阅读