我以为
:folddoc execute v:foldstart."p"
会起作用,但它只会重复返回折叠的一个的第一行。
感谢。
答案 0 :(得分:3)
可以使用foldclosed()
检测闭合折叠的第一行
功能。对于闭合折叠中给定数量的线,它返回数字
该折叠中的第一行(否则返回-1)。如果是行号
等于该数字的foldclosed()
的值,则此行为
折叠的第一行。在Vim脚本中,此测试可以写为
foldclosed('.') == line('.')
因此,要打印第一行闭合折叠,可以使用命令
:folddoc if foldclosed('.') == line('.') | # | endif
或
:folddoc exe'#'[foldclosed('.')!=line('.')]
(显示行号时使用:p
命令而不是:#
命令
不相关的。)