3

Javaマニフェストファイルを編集するための構文をまとめています(興味があれば、githubで)。複数の単一行コメントを折りたたむようにしています(現時点ではと一致していますsyntax match manifestComment "#.*")。ただし、構文領域を使用しようとすると、ファイル全体がマークされ、全体が折りたたまれます。

私が達成しようとしているのはこれです:

# A comment
# Another comment
# A third comment
Manifest-Version: 1

そしてそれを次のように崩壊させます:

+--  3 lines: # A comment ----
Manifest-Version: 1 

問題は、明確な「終了」文字がなく、fold構文が役に立たないことです。だから私はできませんsyntax region commentBlock start="^#" end="^[^#]"。大まかに言って、構文領域は最初のハッシュ文字から開始し、ハッシュで始まらない行が見つかるまで行を続けていく必要があります。

4

2 に答える 2

2
:set foldmethod=expr
:set foldexpr=getline(v:lnum)[0]==\"#\"

詳細については、:h fold-expr

于 2010-02-10T19:49:09.000 に答える
1

どうsyntax region commentBlock start="^#" end="^#\@!"ですか?

これ\@!はPerlの場合と似(?!pattern)ています。つまり、前のアトム#(この場合)が現在の位置で一致しない場合は、ゼロ幅と一致します。

于 2010-02-10T15:22:36.310 に答える