vim 折りたたみ、関数の後に改行文字も非表示にします。

vim 折りたたみ、関数の後に改行文字も非表示にします。

vimの折りたたみ機能を作成する方法 - Foldmethod = syntaxを使用するとき - すべての関数、if-else、およびstruct(Goを使用)の後の改行も非表示にします。

ベストアンサー1

Cで行う方法は次のとおりです。

  • 元の構文ファイル(Unixでは通常はにあります/usr/share/vim)をインポートして(再びUnixでは)コピーします~/.vim/syntax
  • cBlock領域定義で「終了」モードを変更します。
syntax region cBlock    start="{" end="}" transparent fold

~になる

syntax region cBlock    start="{" end="}\(\n\n\)\?" transparent fold

ここで、最初は\n閉じ括弧の直後にある改行文字と一致し、2番目は空行と一致します。後ろにコメントがあると機能しません}。ブロックはまだ崩壊しますが、次の改行文字は崩壊しません。

(私が知っている)Goの構文文書はありませんが、同じように動作するはずです。

注:より柔軟なアプローチは、新しいファイルを作成して~/.vim/after/syntaxゾーン定義のみを変更することですが、ここでは成功しませんでした。領域定義をコピーするだけでは機能しません。

おすすめ記事