How do I get js2-mode to use spaces instead of tabs in Emacs?

I am using js2-mode to edit Javascript in Emacs, but I can’t seem to get it to stop using tabs instead of spaces for indentation. My other modes work fine, just having issues w/ js2.

Do you have

(setq-default indent-tabs-mode nil)

in your .emacs? It works fine for me in emacs when I do that. js2-mode uses the standard emacs function indent-to, which respects indent-tabs-mode, to do its indenting.

Add this to your .emacs file somewhere after you load js2 mode:

(setq js2-mode-hook
  '(lambda () (progn
    (set-variable 'indent-tabs-mode nil))))

On my copy of GNU Emacs 24.2.1, setting:

(setq-default indent-tabs-mode nil)

in .emacs is not sufficient for javascript mode, presumably because the setting is somehow being over-ridden in a per-buffer context. The following change is sufficient:

 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(indent-tabs-mode nil))

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .
Read More:   multiple replaces with javascript [duplicate]

Similar Posts