识别带有shebang但没有扩展名的文件

时间:2013-08-11 14:03:01

标签: emacs shebang

我知道emacs可以通过扩展程序识别文件,-*- mode -*-第一行,甚至是shebang行,但如果我想覆盖shebang,我该怎么办?

例如,以

开头的脚本
#!/usr/bin/env python2.7
...

单独不会被shebang线识别出来。我也无法添加-*-python-*-行,因为shell会尝试解析它。我该如何处理?

3 个答案:

答案 0 :(得分:11)

您将-*- mode: python -*-放在第二行中(特殊例外,专门为shebang thingies添加)。

答案 1 :(得分:6)

您可以尝试添加类似

的内容
(add-to-list 'interpreter-mode-alist '("python2.7" . python-mode))

.emacs中。有关详细信息,请参阅“Choosing File Modes”。

答案 2 :(得分:3)

像这样:

#!/usr/bin/env python2.7

print "test"

# Local Variables:
# mode: python
# End:

此信息来自Specifying File Variables的{​​{1}}节点。

  1. 使用 f1 i 输入信息。
  2. 使用 g info跳转到emacs信息。
  3. 使用 g (emacs)跳转到该页面。 您可以使用 tab 来完成节点名称。