2

Vimの構文ファイルを書き込もうとしています。

コード行の1つは次のようになります

syn match constant "\**\*"

他の多くの行の1つが

syn keyword aiOperators up-build

ハイライトのコードは次のとおりです。

hi constant gui=bold
hi aiOperators guifg=green

ただし、上記の結果、次の項目のみが強調表示されます。

  • すべての定数のアスタリスク。ただし、それらの間の文字はアスタリスクではありません。
  • aiOperatorsの最初のハイフンまでの文字。

何が問題だと思われますか?

4

1 に答える 1

5

定数の正規表現は、0回以上のリテラルアスタリスクと、それに続くリテラルアスタリスクを指定します。アスタリスクで区切られた文字と一致させる場合は、次のようなものが必要です\*\w\+\*。リテラルアスタリスク、1つ以上の単語文字、リテラルアスタリスク。

:syn keywordキーワード文字に対してのみ機能します。デフォルトでは、ハイフンは含まれていないため、一致はそこで停止します。ファイルタイプのハイフンがキーワード文字のセットに属している場合は、次を使用します。

:setlocal iskeyword+=-

これは、構文ファイル自体ではなく、に配置する必要があります~/.vim/ftplugin/myfiletype.vim。それ以外の場合は、を使用します:syn match

于 2012-09-02T18:38:23.740 に答える