我以为
:folddoc execute v:foldstart."p"
会起作用,但它只会重复返回其中一个折叠的第一行。
谢谢。
可以使用该foldclosed()
函数检测闭合折叠的第一行。对于闭合折叠内的给定行号,它返回折叠开始的行号;否则,它返回 -1。显然,如果一行的编号等于该foldclosed()
编号的值,则该行是折叠中的第一行。在 Vimscript 中,这个测试可以写成
foldclosed('.') == line('.')
因此,要打印所有闭合折叠的第一行,可以使用以下命令:
:folddoc if foldclosed('.') == line('.') | # | endif
( 当不需要显示行号时,使用:p
命令而不是命令。):#