即使找到了注释,也会在发现 HTML结束标记对后立即缩进HTML块。>
如何根据需要缩进?请
<!-- Right indentation: -->
<div class="x"> <!-- div -->
<h1>Title</h1>
</div>
<!-- Wrong indentation: -->
<div class="x"> <!-- <div> -->
<h1>Title</h1>
</div>
顺便说一句,什么都没有改变
:set smartindent!
:set cindent!
也许以下链接为比我聪明的人提供了线索:Vim Wrong Indent When There Is Dash - in Html Tag
答案 0 :(得分:0)
您可以尝试使用类似的东西
:inoremap ,, <c-o><<<c-o>O
,然后在关闭标签(例如
您还可以在插入模式下映射一些其他组合键,而不是2个逗号。
这仅在插入模式下会有所帮助,但如果重新格式化ex的整个缓冲区则无济于事。通过“ =”。
答案 1 :(得分:0)
在Steve Oualline的Vi iMproved (VIM)中,它解释了如何不限制行中引号"
的语法,而仅注意行引号的开头/结尾。
[...]区域开始(双引号)和区域结束(双引号)。定义如下:
:syntax region xString start=/”/ end=/”/
start和end指令定义用于定义区域开始和结束的模式。但是看起来像这样的字符串呢?
“其中包含双引号(\“)的字符串”
这会产生一个问题:字符串中间的双引号将以字符串结尾。您需要告诉Vim跳过字符串中所有转义的双引号,您可以使用skip关键字:
:syntax region xString start=/”/ skip=/\\”/ end=/”/
也许这些语法规则与缩进有关。
也许像Qualline先生对<div> </div>
所做的那样,使用" "
解决应用类似策略的问题。