В результате этого ответа я пытаюсь написать 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?
