2013-08-11 15 views
9

拡張子でファイルを認識できるのは、-*- mode -*-ファーストラインで、さらにshebang行でもファイルを認識できますが、シバンを無効にするにはどうすればよいですか?シバンと拡張子なしのファイルを認識する

は、例えば、

#!/usr/bin/env python2.7 
... 

で始まるスクリプトだけではシェバングラインで認識されません。私はまた、-*-python-*-行を追加することはできません。なぜなら、シェルはそれを解析しようとするからです。私はこれにどのように対処しますか?このよう

答えて

10

第2の行に特別な例外があります(特別に除外されたものに特別に追加されたもの)-*- mode: python -*-を入れます。

+0

これは恥ずかしいほど明らかです。 – Shep

3

#!/usr/bin/env python2.7 

print "test" 

# Local Variables: 
# mode: python 
# End: 

この情報はinfoSpecifying File Variablesノードから来ています。

  1. f1 iを入力して情報を入力してください。
  2. g(emacs)を使用すると、emacs infoにジャンプできます。
  3. gSpecifying File Variablesを使用してページにジャンプします。 タブを使用してノード名を完成させることができます。
+0

は 'print"テスト "行が必要ですか? – Shep

+0

これは私のためには機能しません、これはどこかで文書化されていますか? – Shep

+0

print "test"は必要ありません。もちろん、フォントロックがオンになっていることを確認するためのPythonコードです。これで動かない場合は、Emacsをアップグレードする必要があります。現在のバージョンは24.3 –

5

あなた.emacs

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

のようなものを入れて試すことができます。詳細は「Choosing File Modes」を参照してください。

+0

この行を '.emacs'ファイルに直接貼り付けることで、これを動作させることはできません。あなたはこれが何かを期待していますか?これはうまくいくのでしょうか? – Shep

+0

私はそれをテストしなかったが、私はいくつかの実験を行い、それはうまくいくと思う。変更を適用するには、Emacsを再起動するか、その行を評価する必要があります。 – KrzysiekJ

関連する問題