クイック エンジニアリングブログ

株式会社クイック Web事業企画開発本部のエンジニアリングチームが運営する技術ブログです。

Emacsで、JavaScriptとJSONのインデント幅をスペース2個にした

こんにちは。今月から、本格的にVimからEmacsに改宗した五所です。

Emacsよいですよ。変態的なキーバインドが慣れると気持ちよいです。

私が使っているHappy Hacking Keyboardとの相性もバツグンです。なにせAltキーを手のひらで押せますからね。

JSONのインデント

私の使っている環境(GNU Emacs 25.1.1 / Arch Linux)では、javascript-modeのデフォルトのインデントはスペース4個となっています。

私は、JavaScriptのインデントはスペース2個でずっとやってきましたので、違和感を感じました。

しかし、天下のEmacsがスペース4個って言っているならもしかしてそうなんじゃないか、と思ったので適当に有名どころを調べました。

MEAN Stack

https://github.com/linnovate/mean

スペース2個です。

package.json

https://github.com/linnovate/mean/blob/master/package.json

スペース2個です。

composer.json

https://github.com/laravel/laravel/blob/master/composer.json

なんとスペース4個です。

PHP界では、JavaScriptはスペース4個なんですね。

ということは、コーディングしている言語に合わせてよいということか。

結論

書いているのがRubyだったので、インデントは2個にしました。

下記のLispコードを~/.emacs.d/init.elに追加しました。

(add-hook 'js-mode-hook
          (lambda ()
            (make-local-variable 'js-indent-level)
            (setq js-indent-level 2)))

参考

http://stackoverflow.com/questions/17901900/how-can-i-set-a-tab-width-for-json-files

おまけ

.editorconfigも後で設定しないとだなー