是折叠的吗? - 如何检查在VIM折叠
问题描述:
我正在写一些折叠功能,我在一个点,我需要检查,如果当前行实际上是折叠。是折叠的吗? - 如何检查在VIM折叠
原因是这是一种自定义折叠方法,它依赖于搜索/匹配某些行。
例如,如果当前行折叠,看起来像:
-FOO------------------------
如果你做这样的事情:
getline('.')
你会基本上得到FOO
所以没有方法(我知道)知道我是否处于折叠状态。
是否有帮助功能?
我认为它必须是这样的:
is_folded('.')
我或许可以乱用foldtext
分配的折叠一个特殊的冠军,但我想避免这种情况。
答
从:help eval.txt
foldclosed({lnum}行)
结果是一个数。如果行{lnum}处于关闭的 折叠中,则结果是该折叠中的第一行的编号。 如果第{lnum}行不在关闭折叠中,则返回-1。
如果返回-1或行号,您可以检查给定的行,您可以用这种方式实现isfolded()
函数。
如果您正在寻找Vim脚本功能或功能,最好从eval.txt
开始搜索,其中包含大量相关信息。
绝对正确。大多数时候,我都对VIM文档(:help foo)感到惊叹,但在这种情况下 - 我不知道如何搜索它),它很糟糕。感谢您及时的回复! – alfredodeza 2011-02-01 14:50:02