Emacs関連小ネタ ( init.elのリロードと、js2-modeの過剰バリデーションを無効化 )

細々とEmacs


Photos by alcomm ( http://www.flickr.com/photos/alcomm/217097889/ )


結局、Codaと併用中

ある程度決まった作業ディレクトリでネットリとコードを書くにはEmacsのほうがよろしいのですが、ファイルをガンガン作成してあっちこっち飛び回ると、まだまだCodaのようなGUIが良く感じます。

あと、インデントが気持ち良い感じにコントロールできないのもEmacsというか自分の設定状況への不満。command + ] みたいなインデントがうまく出来なかったり、そもそも各モードの自動インデントの癖が気にくわなかったりとか。js2-modeが特に顕著。逆にphp-modeは、ほとんど不満ないです。

そんな感じで試行錯誤中のEmacs小ネタメモ。

小ネタ1. init.elのリロード

Emacs上で編集していたinit.elを反映させるのに、毎回Emacs本体を再起動するのがアホらしいので、グーグル先生に訊いてきた。

Reload init.el in running xemacs? - comp.emacs.xemacs

つまり、init.elを表示中に M-x eval-buffer RET で良いみたい。なるほどなるほど。再起動でなく、設定のリロードなので、ElScreenとかで開いていた状態も維持されるので、編集中に気にくわないことがあるたびに、設定しなおしてリロードできました。

小ネタ2. js2-modeの過剰なバリデーションを止める

js2-modeのウリとも言えるような気がするバリデーションが過剰すぎて邪魔なことが。jsonに、テンプレートエンジン用の記述を入れていたのが原因だと思うのですが...

missing ; after statement に占有されるミニバッファ。ゆるせない。

(setq js2-strict-missing-semi-warning nil)

これでセミコロンについては多めに見てもらえました。副次的にですが、C-nとC-pのカーソル移動が、もっさりと遅い動作だったのが改善しました。カーソル移動のたびに、過剰なバリデーションにコストが掛かっていたのでしょーか。よく分かってないままに解決...。

参考ページ

設定に夢中になる

作業中にEmacsの設定作業に、思わず没頭しそうになるのもヤバいんですよね。そういうのも含めて、仕事中はまだまだCodaとかを使った方が効率良いです。

設定作業は面白いので、まだまだEmacsと戯れてみたいと思います。