Come risultato di questa risposta qui , sto provando a scrivere un foldexpr
for 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 foldexpr
per farlo funzionare come foldmethod=indent
?