Esta es una pregunta interesante y parece que la documentación no dice nada acerca de escapar de esas palabras especiales. Primero, los argumentos especiales que pueden aparecer en cualquier lugar dependen del comando de sintaxis que utilice. La documentación menciona esos argumentos especiales en : h: syn-argumentos
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
En cuanto a la primera pregunta, sobre cómo escapar de esos argumentos especiales, intenté usar el elemento de sintaxis especial sintaxis-palabra clave []
y esto funciona:
:syntax keyword Type Eins Transparent[] contained[]
El []
se utiliza para denotar una parte opcional de una palabra clave, de modo que por ejemplo Trans[parent]
sería definir las palabras clave separadas Trans
, Transp
, Transpa
, etc, y por (AB) utilizando esto, hice el trabajo de escritura de la sintaxis, lo que quisieras.