我有一个用作节分隔符的纯文本文件-- >8 --
,例如:
-- >8 --
first section
some content
more content
-- >8 --
second section
some content
more content
-- >8 --
为了更轻松地浏览文件,我想折叠标记之间的部分。我原以为这会很简单:
set foldmethod=marker
set foldmarker=--\ >8\ --,--\ >8\ --
但它会导致嵌套折叠。
我发现我可以使用折叠表达式来实现这一点(见下面的答案),但这似乎有点过分。有没有更简单的方法来实现这一点?
答案1
我发现我可以使用折叠表达式来做到这一点:
set foldmethod=expr
set foldexpr=(getline(v:lnum)=='--\ >8\ --')?1:2
截屏:
- -- >8 --
|++--- 5 lines: first section------------------------------------------------
| -- >8 --
|++--- 5 lines: second section-----------------------------------------------
| -- >8 --