如何让 emacs 在确定打开文件的模式时忽略 shebang (#!/some/interpreter)

Mar*_*ddy 3 python emacs jython

我正在编辑旨在由 Jython 执行的 python 文件,以便它们在文件顶部具有适当的 shebang:

#!/usr/bin/jython
Run Code Online (Sandbox Code Playgroud)

这会导致文件以 jython 模式打开。但是,我想使用 python 模式。除了删除 shebang 和恢复缓冲区之外,我似乎无法以任何方式使缓冲区进入 python 模式并退出 jython 模式。即使运行python 模式也无法实现此目的(缓冲区仍处于 jython 模式)。我可以放置某种类型的钩子来忽略 .py 文件的 shebang 吗?

如果重要的话,我正在使用 emacs-22。

Tre*_*son 5

将以下内容添加到您的.emacs

(delq (assoc "jython" interpreter-mode-alist) interpreter-mode-alist)
Run Code Online (Sandbox Code Playgroud)

请参阅Emacs 如何选择主要模式的文档。或者你可以使用重锤并完全摆脱 shebang 处理:

(setq interpreter-mode-alist nil)
Run Code Online (Sandbox Code Playgroud)