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

mks*_*uth 116 javascript emacs indentation

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

(setq c-basic-offset 2)
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*hin 193

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

(setq js-indent-level 2)
Run Code Online (Sandbox Code Playgroud)

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

  • 这记录在哪里?有没有办法在没有stackoverflow的情况下找到这些信息?我从js-mode查看了"Mx h",但在那里找不到任何东西. (5认同)
  • (setq default-tab-width 2)将是java-mode的相应选项卡宽度设置器 (2认同)

wpr*_*prl 73

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

调用自定义:

M-x customize
Run Code Online (Sandbox Code Playgroud)

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

  • 这真太了不起了.我已经使用emacs 5年没有碰到这个.非常感谢! (3认同)
  • 谢谢@wprl!--- _a凡人_ (2认同)

met*_*mit 14

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

(setq-default js2-basic-offset 2)
Run Code Online (Sandbox Code Playgroud)

资源.


Tyl*_*ler 11

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

(setq-default indent-tabs-mode nil)
Run Code Online (Sandbox Code Playgroud)


kwa*_*nke 9

您还可以使用

M-x customize-variable
Run Code Online (Sandbox Code Playgroud)

并输入

js-indent-level
Run Code Online (Sandbox Code Playgroud)

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