2009-03-24 17 views
16

私はemacsで自動インデントをオフにする方法を探しています。私は特別な文字を入力するとemacsがコードを自動的にインデントしないようにしたい。または/ *Emacs JavaScript自動インデント

ありがとうございました。

+1

どのモードを使用していますか? – hillu

+0

emacs 23以降、 'js.el'はemacsに組み込まれ、うまく動作します。自動インデントは、 'js-auto-indent-flag'を介してオフにすることができます。 – Cheeso

答えて

-2

これは、すべてのインデントをオフにします:M-X基本モード

8

あなたはCC-モードに基づいて、古いモードを使用している場合、C-c C-lは電気をトグルします。

は、対話的にM-x electric-indent-mode

+0

+1。優秀、これを長い間探してきました! –

+0

これは一般的に真ですが、これを上書きするJavaScriptモードについての質問です。 – fiddur

+0

@fiddur以前はCcモードに基づいたモードがありましたが、Emacsに付属しているJavascriptモードはそれをベースにしていません。今ではM-x electric-indent-modeで切り替えることができます – ashawley

14

スティーブ・イェジのJS2モードに切り替えることができEmacsで船が大きい新しいJavaScriptモードがあります。 http://code.google.com/p/js2-mode/

から

は、アンはGNU EmacsのためのJavaScriptのモードを改善しました。

特長:

  • 変数(調整可能)インデント
  • (例えば重複のvar宣言など)構文エラーの強調表示
  • 厳密モード警告報告
  • スマートラインを強調し、正確な構文コメントと文字列の折り返し
  • 入力ヘルパー(例:引用符/括弧)
  • コード折り({...}などの崩壊素子)
  • は、(E4Xを含む)はJavaScript 1.5、1.6および1.7をサポート
  • カスタマイズ色、または使用フォントロックデフォルト
  • 多くのカスタマイズオプション

最終的にIntelliJなどのクラス最高のJavaScriptエディタとの競争力を目指しています。

注 - このモードは、GNU Emacs、バージョン21以上用です。 XEmacsはサポートしていません。

+1

無料のAptanaと競争することはできません。それはjs2モード(intellisenceのb/cが良くない場合)と同じくらい良いJSパーサを備えています。彼の字下げ規則は調整できません。あなたが行うことができるのは、それらをタブまたは可変数のスペースに設定することだけです。これは、たとえあなたがそれを設定したとしても、js2-modeが4ではなく8つのスペースをインデントしないようにします。コンマで区切られた変数やこの文のようなものは処理しません$ .each(array、function()、次の行は関数に対してインデントされます – Drew

+0

docs: ;; cc-engineベースの言語モードとは異なり、js2モードの行-indentationは ではありません;カスタマイズ可能カスタマイズ可能な ;インデントをサポートするのは驚くべき量です;現在の妥協案は、タブキーを使って、 ;;さまざまな可能性のあるインデントポイントを循環させることです。 -xode。 – Drew

+10

Drew、Aptanaのemacsモードへのリンクはありますか? –

0

javascript-auto-indent-flagnilを設定してからjavascript-modeをロードしてください。あなたの.emacsファイルに行を追加したり、

M-x customize-group RET javascript RET 

を入力して、そこに値を編集して保存することができます。これを有効にするには、Emacsを再起動する必要があるかもしれません。少なくとも私が持っているjavascript.elのバージョンでは、フラグはキーマップを設定するときにのみ参照されます。

+2

または 'js2-mode'を使用している場合、変数' js2-auto-indent-flag'をnilに設定してください。 –

+0

emacs 23では、 'js-mode'であり、自動インデントの試みを制御するフラグは' js-auto-indent-flag'です。 – Cheeso

3

どうやら、これを実現するための新しい祝福の方法は次のとおりです。

M-x electric-indent-mode 

このコマンドは、トグル「電気インデント」、すなわち自動インデント特定の特殊文字がヒットされるたびに。

最も良いことは、js-mode(最近のEmacsバージョンのデフォルトのjavascriptメジャーモード)だけでなく、メジャーモード全体で機能することです。

関連する問題