我目前正在编辑一个具有类似于 twp 功能的 C++ 文件
int func_name_1(int param) {
do_stuff();
and_more();
}
int func_name_2(int param) {
do_different_stuff();
STRUCT_TYPE s = {5, 8, 10, 12};
do_something_with(s);
}
如果我zc
对 word执行 a 操作func_name_1
,vim 会按预期折叠函数,使其现在看起来像
int func_name_1(int param) {--------------------
然而func_name_2
,函数折叠如下:
int func_name_2(int param) {---------------------
do_something_with(s);
}
这不正是我想要的。由于某种原因,一行上的打开和关闭 {} 似乎干扰了折叠算法。
如果有人知道我如何获得“更好”的折叠,我将不胜感激任何指向正确方向的提示。
编辑我认为与此问题相关的选项在我的缓冲区中设置,如下所示
set foldmarker={,}
set foldmethod=marker
set foldtext=getline(v:foldstart)
编辑二:如果我将打开和关闭 {...} 的行更改为STRUCT_TYPE s = { 5, 8, 10, 12};
(注意 之后的空格{
),则折叠按预期工作。