如何为JSON文件设置标签宽度?

res*_*ing 18 emacs json indentation

我的.emacs文件中有以下内容.但它不会更改.json文件中的选项卡宽度.

(setq-default indent-tabs-mode nil)
(setq-default tab-width 2)
(setq standard-indent 2)
Run Code Online (Sandbox Code Playgroud)

我在OS X 10.8.4上使用emacs 24.3

Jac*_*son 31

(add-hook 'json-mode-hook
          (lambda ()
            (make-local-variable 'js-indent-level)
            (setq js-indent-level 2)))
Run Code Online (Sandbox Code Playgroud)

使变量缓冲区本地化,以便它不与js-modeJavaScript文件冲突.


res*_*ing 6

我使用了M-x customize这里提到的:How to change the indentation width in emacs javascript mode

它插入'(js-indent-level 2)到我的 .emacs 文件中。

但无论如何还是感谢您的回复。


Ale*_*Ott 5

最好在相应的钩子中设置制表符宽度 - 找到主要模式的名称(例如,通过使用M-: major-mode,然后定义设置值的钩子:

(defun my/json-mode-hook ()
   (setq tab-width 4))
(add-hook 'json-mode-hook 'my/js2-mode-hook)
Run Code Online (Sandbox Code Playgroud)