Como posso dobrar automaticamente um arquivo quando os marcadores de início e final são os mesmos?

0

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 pelo 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.

Eu descobri que posso usar uma expressão de dobra para conseguir isso (veja a resposta abaixo), mas parece um tanto excessivo. Existe uma maneira mais simples de fazer isso?

    
por Thor 26.02.2013 / 09:19

1 resposta

2

Descobri que posso usar uma expressão de dobra para fazer isso:

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

Screenshot:

- -- >8 --
|++---  5 lines: first section------------------------------------------------
| -- >8 --
|++---  5 lines: second section-----------------------------------------------
| -- >8 --
    
por 26.02.2013 / 09:19

Tags