javascript-mode から js2-mode へ移行

javascript-mode の挙動がおかしくなってたから直そうとしたんだけど
いい機会だからまた js2-mode を試してみた。
そしたらいい感じだったので今度こそ乗り換えることにした。


js2-modeを使いやすくする - speg03の日記が分かりやすくまとまっていて大変助かりました。


ほとんどの部分は参考先と同じで
変更したのは .emacs に記述する my-js2-mode-hook の冒頭部分のみ。
以下の2つの設定値を 4 ではなく 2 にした。

  • espresso-indent-level
  • c-basic-offset

個人的に JS のインデントはスペース2つが好きなので。

(defun my-js2-mode-hook ()
  (require 'espresso)
  (setq espresso-indent-level 2
        indent-tabs-mode nil
        c-basic-offset 2)
  (c-toggle-auto-state 0)
  (c-toggle-hungry-state 1)


js2 はクォートや括弧を自動で閉じてくれるし
構文のチェックも flymake なしで細かくやってくれてよい。
かねてからの懸案事項だったインデントの問題も、今回の方法で解決できたので嬉しいな。