我正在使用 web-mode.el 在 Emacs 中输入一些 html/js
<html>
<body>
<script>
var i = 0;
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我发现后面的行<script>只缩进了 1 个空格。
我的.emacs包含:
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
(setq web-mode-markup-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-code-indent-offset 4)
(setq web-mode-attr-indent-offset 4)
(setq web-mode-attr-value-indent-offset 4)
(setq web-mode-indentless-elements 4)
(setq web-mode-markup-indent-offset 4)
(setq web-mode-sql-indent-offset 4)
Run Code Online (Sandbox Code Playgroud)
您正在寻找的变量是web-mode-script-padding:
(setq web-mode-script-padding 4)
Run Code Online (Sandbox Code Playgroud)
如果你想对标签做同样的事情<style>,你可以使用web-mode-style-padding:
(setq web-mode-style-padding 4)
Run Code Online (Sandbox Code Playgroud)
最后,如果您想对内联服务器端代码(例如 PHP)执行相同的操作,您可以使用web-mode-block-padding:
(setq web-mode-block-padding 4)
Run Code Online (Sandbox Code Playgroud)
此信息可以在Web 模式主页的“自定义”部分下找到。(公平地说,该页面不包含此代码的功能示例,因此很容易跳过它。)