У меня есть простой текстовый файл, который использует -- >8 -- качестве разделителей разделов, например:

-- >8 --

first section
some content
more content

-- >8 --

second section
some content
more content

-- >8 --

Для более удобной навигации по файлу я хочу сложить разделы между маркерами. Я ожидал, что это будет так же просто, как:

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

Но это приводит к вложенным складкам.

Я обнаружил, что для этого могу использовать выражение сгиба (см. Ответ ниже), но оно кажется чрезмерным. Есть ли более простой способ сделать это?

1 ответ1

2

Я обнаружил, что могу использовать выражение-сгиб для этого:

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

Скриншот:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .