2009-10-13 8 views
4

J'essaie de créer un fichier de syntaxe et je veux créer des groupes de mots-clés pour différentes couleurs de mise en évidence (par exemple mots réservés, les opérateurs, etc. seraient de couleurs différentes). Je peux obtenir ce travail en effectuant l'une des deux options suivantes:Est-il possible d'avoir une commande de fichier de syntaxe Vim sur plusieurs lignes?

Option 1

syn keyword MyLangOperators operator1 operator2 operator3 
syn keyword MyLangOperators operator4 operator5 operator6 

syn keyword MyLangReserved reserved1 reserved2 reserved3 
syn keyword MyLangReserved reserved4 reserved5 reserved6 

Ce n'est pas trop mal, mais si je suis en train de les garder dans l'ordre alphabétique, il devient vraiment désordonné une fois que le nombre de réservés/opérateurs etc. se lève là-bas. Surtout si vous avez besoin d'en ajouter de nouveaux au milieu quelque part.

Option 2

syn keyword MyLangOperators operator1 
syn keyword MyLangOperators operator2 
syn keyword MyLangOperators operator3 
syn keyword MyLangOperators operator4 
syn keyword MyLangOperators operator5 
syn keyword MyLangOperators operator6 

syn keyword MyLangReserved reserved1 
syn keyword MyLangReserved reserved2 
syn keyword MyLangReserved reserved3 
syn keyword MyLangReserved reserved4 
syn keyword MyLangReserved reserved5 
syn keyword MyLangReserved reserved6 

Cette option est beaucoup plus facile d'ajouter ultérieurement réservés/opérateurs car il est facile de les garder dans l'ordre alphabétique. Cependant, il y a beaucoup de texte répété pour chaque ligne (c'est-à-dire le mot-clé syn [nom_groupe]).

Existe-t-il un moyen possible d'étendre la commande sur plusieurs lignes? Quelque chose comme ça peut-être:

syn keyword MyLangOperators ~ 
    operator1 ~ 
    operator2 ~ 
    operator3 ~ 
    operator4 ~ 
    operator5 ~ 
    operator6 

syn keyword MyLangReserved ~ 
    reserved1 ~ 
    reserved2 ~ 
    reserved3 ~ 
    reserved4 ~ 
    reserved5 ~ 
    reserved6 

Dans ce cas, le tilde (~) serait un signal à l'éditeur Vim que la commande continue sur la ligne suivante.

Y at-il quelque chose comme ceci ou suis-je coincé avec l'option 1 ou 2 (le plus probable que j'irais avec 2)?

Répondre

7

ce fera (:help line-continuation)

syn keyword MyLangOperators 
    \ operator1 
    \ operator2 
    \ operator3 
    \ operator4 
    \ operator5 
    \ operator6 
+0

Je vais faire un essai. –

+0

A travaillé parfaitement. Merci! –

Questions connexes