Come risultato di questa risposta qui , sto provando a scrivere un foldexprfor vim che equivale a foldmethod=indent(come punto di partenza per poi migliorarlo per riconoscere i miei marcatori personalizzati, vedere la domanda per maggiori dettagli ).
Ho provato questo:
set foldmethod=foldexpr
set foldexpr=indent(v:lnum)
Tuttavia, ciò non riesce in questo semplice esempio HTML:
<div id="a">
<div id="b">
<div id="c">
<div id="d">
</div>
</div>
<div id="e">
</div>
</div>
</div>
Se posiziono la chiave sulla <div id="c">linea e premo zc, la piega funziona come previsto e piega solo quel div. Se riapro, posiziono la chiave sulla <div id="b">linea e premo zc, la piega fallisce perché <div id="e">non è piegata.
Se passo a foldmethod=indent, questo non succede; la seconda piega viene eseguita correttamente. Come posso risolvere il mio foldexprper farlo funzionare come foldmethod=indent?