我想为我的缩进而不是4使用2个空格。我可以使用以下方法更改C模式的默认行为:
(setq c-basic-offset 2)
如何在javascript模式下更改此内容?
答案 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)
答案 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 customize
在tab width
中找到的。