9

私はいくつかの折り畳み関数を書いていますが、現在の行が実際に折り畳まれているかどうかを確認する必要があります。

これは、特定の行の検索/一致に依存するカスタムの折りたたみ方法であるためです。

たとえば、現在の行が折りたたまれていて、次のようになっているとします。

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

次のようなことをすると:

getline('.')

あなたは基本的に得るFOOので、私がフォールドにいるかどうかを知る方法はありません(私が知っている).

これに対するヘルパー関数はありますか?

私はそれが次のようなものでなければならないと思います:

is_folded('.')

折り目に特別なタイトルを割り当てるためにおそらく混乱する可能性がfoldtextありますが、これは避けたいと思います。

4

1 に答える 1

13

から:help eval.txt

foldclosed({lnum})

結果は数値です。行 {lnum} が閉じた折り畳みにある場合、結果はその折り畳みの最初の行の番号です。行 {lnum} が閉じた折り畳みにない場合、-1 が返されます。

特定の行が -1 または行番号を返すかどうかを確認できます。おそらく、isfolded()この方法で関数を実装できます。

Vim スクリプトの関数または機能を探している場合は、eval.txt関連情報が多く含まれているものを検索することから始めることをお勧めします。

于 2011-02-01T14:35:11.163 に答える