¿Cómo puedo doblar automáticamente un archivo cuando los marcadores de inicio y fin son los mismos?

¿Cómo puedo doblar automáticamente un archivo cuando los marcadores de inicio y fin son los mismos?

Tengo un archivo de texto plano que utiliza -- >8 --como separadores de sección, por ejemplo:

-- >8 --

first section
some content
more content

-- >8 --

second section
some content
more content

-- >8 --

Para navegar más fácilmente por el archivo, quiero doblar secciones entre marcadores. Esperaba que fuera tan fácil como:

set foldmethod=marker
set foldmarker=--\ >8\ --,--\ >8\ --

Pero da como resultado pliegues anidados.

Descubrí que puedo usar una expresión de plegado para lograr esto (ver la respuesta a continuación), pero parece bastante excesivo. ¿Existe una forma más sencilla de hacer esto?

Respuesta1

Descubrí que puedo usar una expresión de plegado para hacer esto:

set foldmethod=expr
set foldexpr=(getline(v:lnum)=='--\ >8\ --')?1:2

Captura de pantalla:

- -- >8 --
|++---  5 lines: first section------------------------------------------------
| -- >8 --
|++---  5 lines: second section-----------------------------------------------
| -- >8 --

información relacionada