Emacs 识别具有shebang且没有扩展名的文件

Emacs 识别具有shebang且没有扩展名的文件,emacs,shebang,Emacs,Shebang,我知道emacs可以通过扩展名、-*-mode-*-第一行甚至第二行来识别文件,但是如果我想覆盖shebang,我该怎么做呢 例如,一个以 #!/usr/bin/env python2.7 ... 不会被蛇帮线单独认出来。我也不能添加-*-python-*-行,因为shell会尝试解析它。我该怎么处理 像这样: #!/usr/bin/env python2.7 print "test" # Local Variables: # mode: python # End: 此信息来自指定文件变

我知道emacs可以通过扩展名、
-*-mode-*-
第一行甚至第二行来识别文件,但是如果我想覆盖shebang,我该怎么做呢

例如,一个以

#!/usr/bin/env python2.7
...
不会被蛇帮线单独认出来。我也不能添加
-*-python-*-
行,因为shell会尝试解析它。我该怎么处理

像这样:

#!/usr/bin/env python2.7

print "test"

# Local Variables:
# mode: python
# End:
此信息来自
指定文件变量
节点的
info

  • 使用f1 i输入信息
  • 使用g
    (emacs)
    跳转到emacs信息
  • 使用g
    指定文件变量
    跳转到页面。 您可以使用tab来完成节点名称

  • 你可以试着把

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

    在您的
    .emacs
    中。请参阅“”,了解更多信息。

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

    是否需要
    打印“测试”
    行?不需要打印“测试”,当然,这只是一些python代码,以确保字体锁定处于打开状态。如果这不起作用,您需要升级您的Emacs。当前版本是24.3,这是在哪个版本的emacs中添加的?我不确定是否值得升级,如果我已经运行了应该运行的版本。(我用的是23.3)这是链接。如果这不在您的
    信息中,您就没有它。如果什么不在我的信息中?我的信息是什么?我无法通过将这一行直接粘贴到我的
    .emacs
    文件中来实现这一点。你认为这样的东西会起作用吗?或者应该起作用吗?我没有测试它,但我做了一些实验,我认为它应该起作用。您需要重新启动Emacs或评估该行以应用更改。这对我很有用。我只是需要评估一下。。。当然。。。因为所有Emacs配置都是这样工作的。太好了,不需要在文件中添加额外的/特殊的行。我需要这个来在
    sh模式下打开bash scrips
    (添加到列表“解释器模式列表”(“#!/bin/bash.sh模式))
    并在这里找到了如何操作。这几乎是显而易见的。