どのように私は、単一の行が一つの領域にコメント崩壊するVimの構文ファイルを使用できますか?
質問
私があれば、一緒にgithubのので( Javaのマニフェストファイルを編集するための構文を入れています誰もが)興味を持っています。私は(私はsyntax match manifestComment "#.*"
と現時点で一致しています)複数のシングルラインコメントを崩壊しようとしています。私は、構文域を使用しようとする場合は、ファイル全体がマークされ、全体の事が崩壊ます。
私は何を達成しようとしていることはこれです:
# A comment
# Another comment
# A third comment
Manifest-Version: 1
とそれがにダウン崩壊しています:
+-- 3 lines: # A comment ----
Manifest-Version: 1
問題がそこには明確な「終了」の文字ません、と折り目構文は助けにはならないということです。私はsyntax region commentBlock start="^#" end="^[^#]"
を行うことはできません。大雑把に、構文領域は、第1のハッシュ文字から開始し、その後、それはハッシュで始まらない行を見つけるまでのラインを下に継続する必要があります。
解決
:set foldmethod=expr
:set foldexpr=getline(v:lnum)[0]==\"#\"
については、:h fold-expr
ます。
他のヒント
どのようにsyntax region commentBlock start="^#" end="^#\@!"
はどうですか?
\@!
- - 先行原子は場合は、 (?!pattern)
は、Perlで#
ようなものである、すなわち、それはゼロ幅と一致する。現在の位置に一致していない
所属していません StackOverflow