是折线? - 如何检查VIM中的折叠

时间:2011-02-01 14:29:56

标签: function vim folding

我正在编写一些折叠函数,我正处于需要检查当前行是否实际折叠的位置。

原因是因为它是一种自定义折叠方法,取决于搜索/匹配某些行。

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

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

如果您执行以下操作:

getline('.')

你基本上会得到FOO因此我无法知道自己是否处于弃牌状态。

这有辅助功能吗?

我认为它必须是这样的:

is_folded('.')

我可能会混淆foldtext为折叠指定一个特殊标题,但我想避免这种情况。

1 个答案:

答案 0 :(得分:8)

来自:help eval.txt

  

foldclosed({lnum})

     

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

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

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