В результате этого ответа я пытаюсь написать foldexpr для vim, который эквивалентен foldmethod=indent (в качестве отправной точки для дальнейшего улучшения распознавания моих пользовательских маркеров, см. Вопрос для более подробной информации).
Я пробовал это:
set foldmethod=foldexpr
set foldexpr=indent(v:lnum)
Однако, это терпит неудачу на этом простом примере HTML:
<div id="a">
<div id="b">
<div id="c">
<div id="d">
</div>
</div>
<div id="e">
</div>
</div>
</div>
Если я помещу свой ключ в строку <div id="c"> и нажму zc , сгиб будет работать как положено и сгибает только этот div. Если я снова открою, затем поместу свой ключ в строку <div id="b"> и нажму zc , сгиб завершится неудачей, так как <div id="e"> не сложен.
Если я переключаюсь на foldmethod=indent , этого не происходит; второй сгиб выполняется правильно. Как я могу исправить свой foldexpr чтобы он вел себя как foldmethod=indent?
