9

我正在编写一些折叠函数,并且我需要检查当前行是否实际上是折叠。

这样做的原因是因为它是一种自定义折叠方法,它依赖于搜索/匹配某些行。

例如,如果当前行被折叠并且看起来像:

-FOO------------------------

如果您执行以下操作:

getline('.')

你基本上会得到FOO,所以没有办法(据我所知)知道我是否处于弃牌状态。

有这个辅助功能吗?

我认为它必须是这样的:

is_folded('.')

我可能会弄乱foldtext为折叠分配一个特殊的标题,但我想避免这种情况。

4

1 回答 1

13

:help eval.txt

折叠关闭({lnum})

结果是一个数字。如果行 {lnum} 处于闭合折叠中,则结果是该折叠中第一行的编号。如果行 {lnum} 不在闭合折叠中,则返回 -1。

如果返回 -1 或行号,您可以检查给定的行,您可以通过isfolded()这种方式实现您的函数。

如果您正在寻找 Vim 脚本功能或特性,最好先搜索eval.txt其中包含大量相关信息的内容。

于 2011-02-01T14:35:11.163 回答