在一个大型PHP应用程序中,我想要折叠当前块中的所有代码块,而不是当前块本身。例如:
if ($something) {
if ($another) {
// some code;
}
| <--THIS IS MY CURRENT CURSOR POSITION
if ($yetAnother) {
// more code;
}
if ($stillAnother) {
// yet more code;
}
}
如何折叠三个内if
而不是外if
?
谢谢!
答案 0 :(得分:4)
看看是否有效:
:set foldmethod=marker foldmarker={,} foldlevel=2
答案 1 :(得分:2)
如果我的问题是正确的,那么声明中描述的折叠变化 相当于以下行动顺序。
映射
:nnoremap <silent> <leader>f m`zcVzCzo``
因此运行与上述步骤相对应的命令, 在完成之前保存光标位置,并在之后恢复它。
答案 2 :(得分:1)
我能想出的最接近的是 zMzv 。这将关闭所有折叠( zM ),然后打开足够的折叠以查看光标所在的行( zv )。如有必要,您可以将其映射到较短的命令。
这并不是你要求的,因为它会关闭你的外if
语句之外的所有折叠。