カスタマイズするときはまず M-x customize-apropos するのがいいかも

js2-mode の customize - 4n0+h3r p13c35で「customize」がお勧めされていたので試してみた。
face とかの設定をいじるときは「M-x customize-apropos」を使うと
いじれる項目がざっと見れるので便利なことが分かった。


でも「M-x customize-apropos」 でマッチさせるには
あらかじめ対象のモードがオンになっていないとダメなようだ。
だから「autoload」を使って実際にファイルを開くまではモードを読み込まないようにしていると
探したいモードが出てこないので注意が必要。
例えば、「js2-mode」を「autoload」で読み込むようにしているなら
一旦「.js」ファイルを開くなり「M-x js2-mode」をしてからでないと
「M-x customize-apropos」で「js2」と入力しても何もマッチしない。

余談

今回 customize で「js2-mode」の項を眺めたことで
「js2-mode」は「エラー」と「警告」で face を使い分けていることが分かった。
flymake だとたぶんエラーも警告もどっちも同じ face だと思う。
なんかそれが分かったら別にそのままの face でもいいかと思えるようになった。


でも僕はまだ「javascript-mode」から「js2-mode」に乗り換えてはいない。
最近「javascript-mode」と「js2-mode」を交互に使うようにしていたのだけど
「js2-mode」はインデントが深くなるのが気になって嫌になってしまった。
ruby-mode だったら「ruby-deep-indent-paren-style」をいじればよかったんだけど
「js2-mode」にはパッと見そういう変数がないようでどうしたらいいか分からない。


js2-mode の設定をちょっといじった - gan2 の Ruby 勉強日記でタブ一発でインデントが定まるようにしたのと何か関係があるのかもしれない。
元々「js2-mode」はタブを押すごとにインデントが変わるようになっているし
いくつかタブを押せば僕好みのインデントにもなるのだけど
一発で定まらないとなんだか落ち着かない。
javascript-mode」でそんなに困っているわけではないし
なんかもう色々と面倒なので乗り換えはしなくてもいいかと思っている。


customize で追加した設定は .emacs の末尾とか
以前 customize で追加した設定のところに加えられるんだけど、
なんかうまく customize 用のファイルに書き込むようにできるっていうのを
以前どこかで見かけたのであるので
そのように設定すれば気にならなくなるのかもしれない。
あと、僕は elispガリガリ書けるようになりたいので
なるべく自分で書けることは .emacs に自分で書こうとしていることも
customize を今までほとんど使わないでいたことの理由の一つだ。
でもそうだとしても、もうちょっと customize について調べておいた方がよさそうだなぁ。
なんかその方が結果的に elisp の勉強にもなる気がする。