2

段落のない単純なリストであるテキスト ファイルがあります。アイテムに集中したいときは、Vim Wikia のおかげで、検索に一致するものを除いてすべてを折りたたむことができます (ヒント 282 :"単純な折りたたみ"):

:set foldexpr=getline(v:lnum)!~@/
:nnoremap <F8> :set foldmethod=expr<CR><Bar>zM

これは有用であることが証明されています。したがって、探しているアイテムを非常にはっきりと見ることができます。それらは黒の背景に白で表示されますが、折り目はグレー (ctermbg) にダークグレー (ctermfg) です。

しかし、マイナーな不具合があります。パターンを含む 2 つの行の間に、パターンを含まない単一の行が残ることがあります (実際、よく起こります)。たとえば、次のようになります。

1 pattern
2 not pattern
3 not pattern
4 pattern
5 not pattern
6 pattern

シンプルな折り畳みは、5 行目ではなく、2 行目と 3 行目を折り畳みます。

この1行を非表示にするにはどうすればよいですか?

ゼロ ラインを折りたたむ方法はありますか (これは、片手拍手に関する公案を思い起こさせます…) ? これはありえないと思います。

では、関数を使用して線を単純に非表示にする方法はありますか (たとえば、折り目と同じハイライトを使用)?

4

1 に答える 1

9

set別のオプションを試してください:

set fml=0

このオプションの詳細については、次を参照してください。

:h 'fml' 

あなたの質問に関連する:

 With the default value of
    one a fold can only be closed if it takes up two or more screen lines.
    Set to zero to be able to close folds of just one screen line.
于 2013-09-26T19:58:29.243 に答える