
Eu tenho um arquivo de texto simples que usa -- >8 --
como separadores de seção, por exemplo:
-- >8 --
first section
some content
more content
-- >8 --
second section
some content
more content
-- >8 --
Para navegar mais facilmente no arquivo, quero dobrar as seções entre os marcadores. Eu esperava que fosse tão fácil quanto:
set foldmethod=marker
set foldmarker=--\ >8\ --,--\ >8\ --
Mas isso resulta em dobras aninhadas.
Descobri que posso usar uma expressão dobrável para conseguir isso (veja a resposta abaixo), mas parece um tanto excessivo. Existe uma maneira mais simples de fazer isso?
Responder1
Descobri que posso usar uma expressão dobrável para fazer isso:
set foldmethod=expr
set foldexpr=(getline(v:lnum)=='--\ >8\ --')?1:2
Captura de tela:
- -- >8 --
|++--- 5 lines: first section------------------------------------------------
| -- >8 --
|++--- 5 lines: second section-----------------------------------------------
| -- >8 --