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

时间:2013-07-27 19:56:09

标签: json emacs indentation

我的.emacs文件中有以下内容。但它不会更改.json个文件中的标签宽度。

(setq-default indent-tabs-mode nil)
(setq-default tab-width 2)
(setq standard-indent 2)

我在OS X 10.8.4上使用emacs 24.3

3 个答案:

答案 0 :(得分:29)

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

将变量缓冲区设为本地,以便它与JavaScript文件的js-mode不冲突。

答案 1 :(得分:4)

我使用了M-x customize,如下所述:How to change the indentation width in emacs javascript mode

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

但是,无论如何,谢谢你的回应。

答案 2 :(得分:2)

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

(defun my/json-mode-hook ()
   (setq tab-width 4))
(add-hook 'json-mode-hook 'my/js2-mode-hook)