This is our buffer:
void write_buffer(size_t size, char ** buffer)
{
char * buf = *buffer;
size_t iter;
for(iter = 0; iter < size; iter++)
{
putc(*(buf + iter));
}
}
The cursor is at [1][1] ([line][col]).
Move the cursor to the curl bracket of the for loop:
/for<Enter>j cursor is [6][2].
Now enter zf% (create folding, move to matching bracket).
You have successfully create the first folding.
Now enter :2<Enter>_, the cursor is now at [2][1] and zf%: the complete function body is folded.
You are able to open all foldings you just created using zO and re-close them using zC.