我正在编写一些折叠函数,我正处于需要检查当前行是否实际折叠的位置。
原因是因为它是一种自定义折叠方法,取决于搜索/匹配某些行。
例如,如果当前行折叠并且看起来像:
-FOO------------------------
如果您执行以下操作:
getline('.')
你基本上会得到FOO
因此我无法知道自己是否处于弃牌状态。
这有辅助功能吗?
我认为它必须是这样的:
is_folded('.')
我可能会混淆foldtext
为折叠指定一个特殊标题,但我想避免这种情况。
答案 0 :(得分:8)
来自:help eval.txt
foldclosed({lnum})
结果是一个数字。如果行{lnum}处于关闭状态 fold,结果是该折叠中第一行的编号。 如果行{lnum}不在闭合折叠中,则返回-1。
如果返回-1或行号,您可以检查给定的行,您可以通过这种方式实现isfolded()
函数。
如果您正在寻找Vim脚本功能或功能,最好先搜索包含大量相关信息的eval.txt
。