I just installed web-mode. It works, but the indentation seems to be set to 4 spaces by default. How does one properly set it to 2 spaces?
Asked
Active
Viewed 1.3k times
2 Answers
32
According to the web-mode documentation, you can do that with the following:
(defun my-web-mode-hook ()
"Hooks for Web mode."
(setq web-mode-markup-indent-offset 2)
)
(add-hook 'web-mode-hook 'my-web-mode-hook)
You can also set values for web-mode-css-indent-offset
for CSS, and web-mode-code-indent-offset
Javascript, Java, PHP, etc.

Ryan
- 3,989
- 1
- 26
- 49
-
3It might be better to `customize-group` web-mode and set this. – Christian Stewart Dec 26 '17 at 23:23
-
@ChristianStewart or even better, do it with [`use-package`](https://github.com/jwiegley/use-package) – DomQ May 07 '20 at 15:49
13
With use-package
:
(use-package web-mode
:custom
(web-mode-markup-indent-offset 2)
(web-mode-css-indent-offset 2)
(web-mode-code-indent-offset 2))

DomQ
- 255
- 2
- 6