繁体   English   中英

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

[英]How to change the indentation width in emacs javascript mode

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

(setq c-basic-offset 2)

如何在javascript模式下更改此设置?

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

(setq js-indent-level 2)

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

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

调用自定义:

M-x customize

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

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

(setq-default js2-basic-offset 2)

资源。

您可能还希望将emacs设置为使用空格而不是制表符

(setq-default indent-tabs-mode nil)

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

javascript-indent-level 4

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

(setq javascript-indent-level 2)

你也可以使用

M-x customize-variable

并输入

js-indent-level

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

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

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

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

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

升级到Emacs 26之后,这些解决方案都没有适用于我(我已经将js-indent-level设置为2,但我的标签宽度又回到了8),但是工作的是将tab-width变量设置为2 ,这似乎是替换旧的default-tab-width变量。

我通过搜索tab widthMx customize找到了这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM