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

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

(setq c-basic-offset 2) 

我如何改变这种在JavaScript模式?

js-indent-level可以在默认的javascript-mode中使用,默认情况下在emacs 23.2开始。

 (setq js-indent-level 2) 

应该做你正在寻找的东西。 如果您使用的是旧版本的emacs,则可能处于java模式。 我认为这个模式响应c-basic-offset ,但是我可能是错的。

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

调用自定义:

 Mx customize 

然后,select“编程”,然后select“语言”,然后select一种语言/模式进行自定义。 按照您认为合适的方式编辑选项。 完成后,请select“保存为当前会话”或“保存为将来的会话”。

如果你使用js2模式(这是更强大的恕我直言),那么命令是:

 (setq-default js2-basic-offset 2) 

资源。

你可能也想设置emacs来使用空格而不是制表符

 (setq-default indent-tabs-mode nil) 

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

javascript-indent-level 4

所以,如果你使用相同的lisp模式,你可以通过运行来改变它

 (setq javascript-indent-level 2) 

你也可以使用

 Mx customize-variable 

和types

 js-indent-level 

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

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

也可以通过Melpa或Marmalade在包pipe理器( Mx package-list-packages )中find。

如果你想在每个文件的基础上改变它,把它放在你的文件的顶部:

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