I have this at the end of my .emacs:
(setq-default indent-tabs-mode nil)
(setq tab-stop-list (number-sequence 2 120 2))
It works fine in other modes – whenever I tab, it adds two spaces. But in js2-mode, it adds 4.
You can set js2-basic-offset
to 2.
M-x customize-variable
js2-basic-offset
Then Apply and Save
button in the customize option buffer. This will add an item to set the variable into .emacs
or init.el
file.
Little late here, but if you're like me and keep configurations for major modes in separate files, you can add the following line and it works as well.
(add-hook 'js2-mode-hook (lambda () (setq js2-basic-offset 2)))
For me js2-basic-offset
is an alias to js-indent-level
, so I had to change the latter to make it work.