と思った
:folddoc execute v:foldstart."p"
動作しますが、折り目の1つだけの最初の行を繰り返し返すだけです。
ありがとう。
関数を使用して、閉じた折り目の最初の行を検出できますfoldclosed()
。閉じた折り畳み内の指定された行番号に対して、折り畳みが開始される行の番号を返します。それ以外の場合は -1 を返します。明らかに、行の番号がその番号の の値と等しい場合、foldclosed()
その行は折り畳みの最初の行です。Vimscript では、このテストは次のように記述できます。
foldclosed('.') == line('.')
したがって、すべての閉じた折り畳みの最初の行を印刷するには、次のコマンドを使用できます。
:folddoc if foldclosed('.') == line('.') | # | endif
( 行番号を表示する必要がない場合は:p
の代わりにコマンドを使用してください。):#