html 内联 javascript 的 emacs 缩进

Indentation in emacs for html with inline javascript

我的代码大概是这样的。

<body>
<p>
...
</p>

<script>
function func()
{
...
for(...)
{
...
}
}
</script>

<p> ... </p>

</body>

HTML 本身缩进正确,但是当我输入 javascript 时,一切都搞砸了。

我该如何处理?

我倾向于在我的脚本标签之间添加空行,然后切换到 javascript 模式。 html 看起来像这样用空行填充

<script type="text/javascript">

   //some javascript

</script>

这似乎允许正确的着色和缩进。我个人也喜欢使用 js3-mode,因为它比 emacs 的默认 javascript 样式增加了更多功能。

您可以尝试多种模式中的一种:

他们的目标是在同一个缓冲区中同时拥有多个模式,特别是 html 和 javascript。