/ / emacs 24でjavascriptモードの変更を修正するにはどうすればよいですか? -emacs

どうすればemacs 24のjavascriptモードの変更を修正できますか? - emacs

最近、emacs 23からemacs 24にアップグレードしました。 デフォルトのjs-modeを使用してJavaScriptを操作すると、emacs23とemacs24のjs-modeのマイナーな違いに気づきました。設定の1つではないことを確認するために、 --no-init-file オプションと同じ問題が表示されます。

jsモードのemacs23で、閉じ中括弧を入力すると、 }、カーソルを一時的にジャンプして一致する開き中括弧に戻し、次に 閉じ括弧をインデントします 適切なレベルのインデント。

emacs24でそれを行うと、対応する開始中括弧への一時カーソルのジャンプが期待どおりに発生しますが、 ない 閉じブレースをインデントし、タブキーを押してジョブを終了します。

他の誰かがこの矛盾を見ていますか?もしそうなら、それを修正する方法についてのアイデアはありますか? init.elのどこかに設定する、変数の素敵な「インデント・オン・クローズ・カーリー」タイプはありますか?

Xubuntu Linuxでemacsを使用しています(ソースからインストールしました)。他のプラットフォームで23と24をまだ比較していません。

注意:誰かが代わりにYeggeのjs2-modeを使用することを提案したいかもしれませんが、私は一般的にそれを使用することを嫌い、jsモードを正しく動作させたいと思います。

回答:

回答№1の場合は10

私は満足のいく答えを見つけたが、他の誰からも聞いたことがないので、自分の答えを投稿し、それが他の誰かに役立つ場合には受け入れます。

emacs 23とemacs 24でjs-modeの動作が異なる正確な理由はわかりませんでしたが、 electric-indent-mode あなたの.emacsまたはinit.elで私が望む動作を提供します。これにより、実際にインデントします あなたは右中括弧を入力しますが、それは私のために動作します。これはemacs 24の新しい設定です。.emacsエントリは次のようになります。

(electric-indent-mode t)

私が遭遇した1つの問題は、その組織モードelectric-indent-modeは好きではないので、javascript / java / c / etc。モードの場合は特にelectric-indent-modeを設定するか、org-modeの場合は特に設定を解除できます。

(defun my-org-mode-hooks ()
(electric-indent-mode -1))

(add-hook "org-mode-hook "my-org-mode-hooks)

回答№2の場合は0

ありがとう、midpeter444。 (electric-indent-mode t)は魅力のように機能します。 私はグーグルで調べて、誰かがjs-auto-indent-flagをnil以外に設定することを提案しましたが、Emacs 24.3では動作しませんでしたが、js-auto-indent-flag変数は「customize- 「グループjs」、効果はありません。ソースで宣言されていますが、java.elでは使用されていません。