構文ファイルから重要なキーワードをエスケープする方法は?


8

私は構文ファイルでこの行に出くわしました。それは機能しません:

syntax keyword Type Transparent

これはtransparent、Vimにとって重要なキーワードであるという事実と関連があると思います。

それをエスケープし、実際の単語をTransparent他のすべてのType単語と同じようにファイルに色付けするにはどうすればよいですか?私のような他の厄介なキーワードaccross 1日つまずく場合はどうkeywordsynmatchなど?

回答:


12

これは興味深い質問であり、ドキュメントにはこれらの特別な単語のエスケープについて何も書かれていないようです。まず、どこにでも現れることができる特別な引数は、使用する構文コマンドによって異なります。ドキュメンテーションは:h:syn-argumentsでそれらの特別な引数に言及しています

The :syntax commands that define syntax items take a number of arguments.
The common ones are explained here.  The arguments may be given in any
order and may be mixed with patterns.

Not all commands accept all arguments.  This table shows which arguments
can not be used for all commands:
                                                        E395
                    contains  oneline   fold  display  extend concealends
:syntax keyword          -       -       -       -       -      -
:syntax match           yes      -      yes     yes     yes     -
:syntax region          yes     yes     yes     yes     yes    yes

These arguments can be used for all three commands:
    conceal
    cchar
    contained
    containedin
    nextgroup
    transparent
    skipwhite
    skipnl
    skipempty

最初の質問については、これらの特別な引数をエスケープする方法について、syntax-keyword特別な構文要素を使用してみましたが[]、これは機能します。

:syntax keyword Type Eins Transparent[] contained[]

[]例えばそのことを、キーワードのオプションの一部を示すために使用されるTrans[parent]別のキーワード定義しTransTranspTranspaこれを使用して、などと、(AB-)によって、あなたが望んでいたとして、私は構文スクリプト作品を作りました。


そして、これは非常に興味深い答えであり、何かを解決することで問題を解決できることを学びました。乾杯:)
iago-lito
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.