1

と思った

:folddoc execute v:foldstart."p"

動作しますが、折り目の1つだけの最初の行を繰り返し返すだけです。

ありがとう。

4

1 に答える 1

3

関数を使用して、閉じた折り目の最初の行を検出できますfoldclosed() 。閉じた折り畳み内の指定された行番号に対して、折り畳みが開始される行の番号を返します。それ以外の場合は -1 を返します。明らかに、行の番号がその番号の の値と等しい場合、foldclosed() その行は折り畳みの最初の行です。Vimscript では、このテストは次のように記述できます。

foldclosed('.') == line('.')

したがって、すべての閉じた折り畳みの最初の行を印刷するには、次のコマンドを使用できます。

:folddoc if foldclosed('.') == line('.') | # | endif

( 行番号を表示する必要がない場合は:p の代わりにコマンドを使用してください。):#

于 2012-06-14T04:45:44.783 に答える