Вы можете сделать пустые строки частью предыдущего абзаца, например так:
:set foldexpr=strlen(getline(v:lnum))==0?'=':strlen(getline(v:lnum-1))?1:'>1'
Если текущая строка пуста, используйте уровень сгиба из предыдущей строки (=
).
В противном случае проверьте предыдущую строку: если она пустая, это должно быть начало нового абзаца. Создайте новый уровень 1-кратный с помощью >1
. В противном случае это должно быть частью существующего абзаца; назначьте ему уровень сгиба 1
.