vim,在html中缩进css和js的正确方法

Kai*_*ign 5 html javascript css vim

老问题找不到正确的解决方案,所以

    <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <style type="text/css">
body, input{
    background-color:red;
}
        </style>
        <script>
function test() {
    return false
}
        </script>
    </head>
    <body>
        <div></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

除了里面的代码<style><script>标签缩进之外的所有内容都可以,我该如何修复它?

Max*_*axC 7

事实证明:这是故意的!甚至我当前的 Vim 8.1 安装也包含一个indent/html.vim具有零缩进作为默认设置的 -file。

然而,这可以通过以下方式进行配置vimrc

let g:html_indent_script1 = "inc" 
let g:html_indent_style1 = "inc" 
Run Code Online (Sandbox Code Playgroud)

...并且 -我们感到羞耻 -中也提到了:help html-indent


Yos*_*osh 3

我使用othere/html5.vim插件,它支持html 中的 css/javascript。尽管这可能不是最简单的解决方案,但它确实有效。

您的代码缩进如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <style type="text/css">
      body, input{
        background-color:red;
      }
    </style>
    <script>
      function test() {
        return false
      }
    </script>
  </head>
  <body>
    <div></div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)