Couleur de fond différente pour plusieurs types de fichiers dans vim


10

Est-il possible d’avoir différentes couleurs d’arrière-plan dans vim (c.-à-d. Un clair, un foncé) lorsqu’il s’agit de fichiers contenant plusieurs types de fichiers (c.-à-d. :set ft=html.php )? Dans le code PHP avec HTML incorporé, il peut être difficile de voir une seule déclaration PHP parmi des dizaines de lignes HTML, voir ci-dessous. Je me contenterai de n'importe quoi, que ce soit une couleur différente, un marqueur dans la marge, une seconde marge à gauche (un plugin vim le fait pour les marques), peut-être en soulignant <?php tag par exemple (bien que ce ne soit pas idéal)

PHP in HTML Code

MODIFIER: Je ne pense pas que cela soit possible au niveau de la syntaxe car la syntaxe semble utiliser un nombre limité d'éléments (String, Function, Identifier ...) C’est sans doute pour permettre une intégration facile avec les couleurs. SyntaxAttr est un bon plugin pour le démontrer. Placez-le sur n'importe quelle partie du code et il vous indiquera le groupe de syntaxe auquel il appartient.


Peut-être que vous pourriez utiliser la même solution que dans ce post stackoverflow.com/questions/4167425/… où ils créent un jeu de couleurs personnalisé qui met en évidence toute chaîne commençant par sql_.

1
Je vais voir si je peux l'obtenir pour détecter des régions entre ?> et <? comme non PHP.
puk

Réponses:


1

Une autre solution potentielle consiste à personnaliser votre fichier de couleurs préféré pour vérifier le réglage de «fond». Beaucoup définissent le paramètre "Arrière-plan" d'une manière ou d'une autre, mais vous pouvez le vérifier pour modifier les couleurs de surbrillance.

Exemple de couleurs


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi

Existe-t-il un moyen de vérifier la langue d'un mot / caractère? c'est-à-dire s'il s'agit de HTML v PHP?
puk

Le genre de dépend. Vous pouvez vérifier le type de texte en surbrillance pour un mot particulier. Et s'il se distingue entre HTML et PHP, vous le sauriez. Mais je pense que c'est ce que vous obtiendrez de mieux sans beaucoup de travail supplémentaire. Utilisez quelque chose comme ceci pour obtenir le type de surbrillance:: echo synIDattr (synID (ligne ("."), Col ("."), 1), "nom")
pottsdl
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.