我想使用2个空格来缩进,而不是4个。我可以改变 C 模式的默认行为,使用:
(setq c-basic-offset 2)
我如何在 javascript 模式下更改它?
js-indent-level可以在默认的 javascript 模式下使用,默认情况下从 emacs 23.2开始包含该模式。
js-indent-level
(setq js-indent-level 2)
应该做你想做的事。如果您使用的是旧版本的 emacs,那么您可能处于 java 模式。我认为这种模式响应 c-basic-offset,但我可能是错误的。
c-basic-offset
我真希望有人早点告诉我关于海关的事!也许这会帮助另一个像我一样的凡人;)
调用自定义:
M-x customize
然后,选择“编程”,然后选择“语言”,然后选择要自定义的语言/模式。按照您认为合适的方式编辑选项。完成后,选择“为当前会话保存”或“为未来会话保存”
在 javascript.el 文件(/usr/share/emacs/site-lisp)中,我发现
Javascript-indent-level 4
因此,如果您使用相同的 lisp 模式,您可以通过运行
(setq javascript-indent-level 2)
您可能还希望将 emacs 设置为使用空格而不是制表符
(setq-default indent-tabs-mode nil)
如果您正在使用 js2-mode (恕我直言,它更强大) ,那么命令是:
(setq-default js2-basic-offset 2)
来源。
你也可以用
M-x customize-variable
打字
(js-[ TAB ]显示选项列表)。然后根据需要更改 Js Indent Level并单击 [State:]保存。
js-
Js Indent Level
[State:]
使用 编辑配置也是一个不错的主意,当然,Emacs 也有一个 Edorconfig-emacs模式。
它也可以在包管理器(M-x package-list-packages)通过 Melpa 或果酱。
M-x package-list-packages
如果你想在每个文件的基础上改变它,把它放在你的文件的顶部:
// -*- mode: js; js-indent-level: 2; -*-
在升级到 Emacs 26之后,这些解决方案对我都不起作用(我已经把 js-indent-level设置为2,但是我的标签宽度回到了8) ,但是起作用的是把 tab-width变量设置为 2,这似乎取代了旧的 default-tab-width变量。
tab-width
2
default-tab-width
我通过搜索 tab width在 M-x customize中找到了这个。
tab width