3

Ubuntu Linux で Vim 7.3 を使用しています。

YAML ファイルを編集しているとき

This:
    fnordy fnord: fnord
    fnords: super fnord

「fnords」は色付けされますが、「fnordy fnords」は色付けされません。

fnords その後 fnordy fnord

fnordy fnord その後 fnord

どうすればこれを修正できますか? 私は自分の/usr/share/vim/vim73/syntax/yaml.vimファイルを見ていますが、これを修正するのに十分なほど理解していません。

アップデート

:color 
slate

:echo &ft
yaml

On fnord: fnordy(行頭): yamlBlockMappingKey

オンfnordy fnord: fnord(行頭): yamlPlainScalar

4

3 に答える 3

2

steffen の助けを借りて、両方の解析コマンドを比較しました。

現在のスクリプトは次のようになります。

execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
            \'nextgroup=yamlKeyValueDelimiter'

問題は、具体的には、s:ns_plain_outスペース以外のパターンである です。

したがって、パターンを変更して、任意の文字に単純に一致するようにしました。

execute 'syn match yamlBlockMappingKey /^\s*\zs.*\ze\s*:\%(\s\|$\)/ '.

この特定の問題を修正します。

于 2012-11-21T20:40:04.547 に答える
1

YAML 仕様によると、スペースはマッピングのキーで有効な文字です。仕様の 3.2.1.1 とこの例を見てください。

ハイライトは正しいと思います。引用符を使用して最初の値に意味のない改行があります (この例のように)。

于 2012-11-21T08:52:37.333 に答える