我打开了一个名为test.scss
的文件,当我在一行上按RET时,emacs会在当前行添加2个空格,在下一行添加4个空格。
我已使用whitespace-mode
突出显示了该文件的内容。
按RET后
您可以看到.my-element
行自动缩进了2个空格,新行缩进了4个空格太多。
我希望输出看起来像这样
如何让emacs产生我想要的输出?
以下是describe-mode
的输出:
Enabled minor modes: Auto-Composition Auto-Compression Auto-Encryption
Electric-Indent File-Name-Shadow Font-Lock Global-Eldoc
Global-Font-Lock Line-Number Menu-Bar Tooltip Whitespace
(Information about these minor modes follows the major mode info.)
SCSS mode defined in `css-mode.el':
Major mode to edit "Sassy CSS" files.
In addition to any hooks its parent mode `css-mode' might have run,
this mode runs the hook `scss-mode-hook', as the final step
during initialization.
虽然在这种情况下我处于scss模式,但我看到与我使用的大多数其他模式类似的行为,例如ruby-mode
,sgml-mode
,js.el
模式等。我想使行为与上面显示的所需输出相匹配。
答案 0 :(得分:2)
每种模式都可以以自己的方式处理缩进,您可能必须寻找特定于模式的设置才能在任何地方使用双空缩进。
对于初学者,您可以设置css-indent-offset
,其中应包含css-mode
和scss-mode
:
(setq css-indent-offset 2)
您可以类似地设置许多其他模式的基本缩进。 ruby-mode
似乎使用ruby-indent-level
,sgml-mode
使用sgml-basic-offset
,js-mode
使用js-indent-level
。