2011-02-01 129 views
6

我正在寫一些摺疊功能,我在一個點,我需要檢查,如果當前行實際上是摺疊。是摺疊的嗎? - 如何檢查在VIM摺疊

原因是這是一種自定義摺疊方法,它依賴於搜索/匹配某些行。

例如,如果當前行摺疊,看起來像:

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

如果你做這樣的事情:

getline('.') 

你會基本上得到FOO所以沒有方法(我知道)知道我是否處於摺疊狀態。

是否有幫助功能?

我認爲它必須是這樣的:

is_folded('.') 

我或許可以亂用foldtext分配的摺疊一個特殊的冠軍,但我想避免這種情況。

回答

6

:help eval.txt

foldclosed({lnum}行)

結果是一個數。如果行{lnum}處於關閉的 摺疊中,則結果是該摺疊中的第一行的編號。 如果第{lnum}行不在關閉摺疊中,則返回-1。

如果返回-1或行號,您可以檢查給定的行,您可以用這種方式實現isfolded()函數。

如果您正在尋找Vim腳本功能或功能,最好從eval.txt開始搜索,其中包含大量相關信息。

+0

絕對正確。大多數時候,我都對VIM文檔(:help foo)感到驚歎,但在這種情況下 - 我不知道如何搜索它),它很糟糕。感謝您及時的回覆! – alfredodeza 2011-02-01 14:50:02