给出以下C ++代码:
//
// Some comments at the begin of the code.
// For instance, license, author name, date.
// Referred as "Comment A"
//
namespace one {
namespace two {
// Here you have some code.
// And this comment explain what the code is doing.
void exampleFunction();
}
}
以及.vimrc中的以下设置
set foldmethod=syntax
autocmd Syntax c,cpp syntax region cCommentLicense start="^\s*//" end="\n\s*\(\S[^/]\|\_$\)"me=s,re=s,he=s fold
这些设置使我可以折叠以//
开头的段落。
修改foldlevel
后(使用zr
和zm
),第一条评论(评论A)会自动折叠。
是否可以更改其折叠级别(例如将其设置为9)?
其他评论的弃牌水平对我来说无关紧要。
答案 0 :(得分:2)
使用基于语法的折叠,折叠级别由语法结构决定。要获得9级折叠,您必须定义9个嵌套语法区域。
使用:set foldmethod=expr
,您可以更好地控制折叠级别,并且可以显式返回9
。只要您只折叠折叠注释,您就可以编写一个简单的等效表达式,但如果还有其他折叠结构,则会很快变得复杂。