【问题标题】:vim, right way to indent css and js inside htmlvim,在 html 中缩进 css 和 js 的正确方法
【发布时间】:2016-04-30 06:12:51
【问题描述】:

在老问题中找不到合适的解决方案,所以

    <!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>

除了 &lt;style&gt;&lt;script&gt; 标签内的代码之外的所有内容都缩进了,我该如何解决?

【问题讨论】:

标签: javascript html css vim


【解决方案1】:

事实证明:这是故意的!甚至我当前的 Vim 8.1 安装也包含一个 indent/html.vim 文件,它的默认设置是零缩进。

然而,这可以通过vimrc 配置:

let g:html_indent_script1 = "inc" 
let g:html_indent_style1 = "inc" 

...和 ​​-我们感到羞耻-:help html-indent

中也提到了

【讨论】:

  • 这个答案需要在互联网的顶部。我花了一个多小时试图弄清楚如何做这件必须简单的事情。原来这很简单!
  • 等等...它适用于样式标签,但它会错误地缩进 javascript,除非我将所有代码都放在 {} 内的标签内。你没看到吗?
  • 但它应该。我在这里发现了一个错误报告并提出了更改请求:github.com/vim/vim/issues/3205
【解决方案2】:

我在 html 中使用supports css/javascript 的othree/html5.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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2010-11-30
    • 2011-05-16
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多