0

我打开了一个名为 的文件test.scss,当我在一行上按 RET 时,emacs 将在当前行添加 2 个空格,在下一行添加 4 个额外空格。

我已经用whitespace-mode.

在按 RET 之前

在此处输入图像描述

按 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.elmode 等。我想让行为与上面显示的所需输出相匹配。

4

1 回答 1

2

每种模式都可以以自己的方式处理缩进,您可能必须寻找特定于模式的设置才能让两格缩进在任何地方都能工作。

对于初学者,您可以设置css-indent-offset,它应该涵盖css-modescss-mode

(setq css-indent-offset 2)

您可以类似地设置许多其他模式的基本缩进。ruby-mode似乎使用ruby-indent-levelsgml-mode使用sgml-basic-offsetjs-mode使用js-indent-level

于 2014-12-08T22:42:20.997 回答