如何在网络模式下缩进内联 Javascript?

Cal*_*laf 3 emacs

我正在使用 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)
  1. 我错过了哪个变量?
  2. 我怎么能自己找到答案呢?

Sco*_*don 6

您正在寻找的变量是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 模式主页的“自定义”部分下找到。(公平地说,该页面不包含此代码的功能示例,因此很容易跳过它。)