如何在emacs javascript模式下更改缩进宽度

时间:2010-11-14 14:32:53

标签: javascript emacs indentation

我想为我的缩进而不是4使用2个空格。我可以使用以下方法更改C模式的默认行为:

(setq c-basic-offset 2)

如何在javascript模式下更改此内容?

9 个答案:

答案 0 :(得分:181)

js-indent-level可用于默认的javascript模式,默认情况下包含在emacs 23.2中。

(setq js-indent-level 2)

应该做你想要的。如果您使用的是较旧版本的emacs,则可能处于java模式。我认为这种模式会响应c-basic-offset,但我可能错了。

答案 1 :(得分:69)

我希望有人早点告诉我有关Custom的事情!也许这会帮助像我这样的另一个凡人;)

调用自定义:

M-x customize

然后,选择“编程”,然后选择“语言”,然后选择要自定义的语言/模式。根据需要编辑选项。完成后,选择“保存当前会话”或“保存以备将来会话。”

答案 2 :(得分:14)

如果你正在使用js2-mode(更强大的恕我直言),那么命令是:

(setq-default js2-basic-offset 2)

Source.

答案 3 :(得分:11)

您可能还想将emacs设置为使用空格而不是标签

(setq-default indent-tabs-mode nil)

答案 4 :(得分:2)

在我的javascript.el文件(/ usr / share / emacs / site-lisp)中我找到了

javascript-indent-level 4

因此,如果您使用相同的lisp模式,则可以通过运行

来更改它
(setq javascript-indent-level 2)

答案 5 :(得分:2)

您也可以使用

M-x customize-variable

并输入

js-indent-level

js- [TAB]显示选项列表)。然后根据需要更改Js Indent Level,然后点击[State:]并保存。

答案 6 :(得分:2)

如果您想基于每个文件更改它,请将其放在文件的顶部:

// -*- mode: js; js-indent-level: 2; -*-

答案 7 :(得分:1)

使用EditorConfig也是一个好主意。当然,Emacs有一个模式editorconfig-emacs

它也可以通过Melpa或Marmalade在包管理器(M-x package-list-packages)中使用。

答案 8 :(得分:0)

在升级到Emacs 26(我已经将js-indent-level设置为2,但我的制表符宽度又回到8)之后,这些解决方案都不对我有用,但是有效的方法是设置tab-width变量到2,似乎替换了旧的default-tab-width变量。

我是通过搜索M-x customizetab width中找到的。