167 votes

Comment forcer vim à mettre en évidence la syntaxe d'un fichier en tant que html ?

Comment faire pour que la coloration syntaxique de vim traite une extension de fichier comme un fichier html ?

J'utilise ez template, donc l'extension du fichier est .ezt . Mais une grande partie est du code html normal.

274voto

Amber Points 159296
:set syntax=html

13 votes

@pbr : ce qui répond exactement au titre de la question.

2 votes

> "traiter une extension de fichier comme un fichier html".

0 votes

C'est ce que je cherchais :)

135voto

Benoit Points 35553

Vous pouvez aussi mettre ceci dans votre .vimrc :

au BufReadPost *.ezt set syntax=html

0 votes

E216 : Aucun groupe ou événement de ce type : BufLoad *.ezt set syntax=html ... qu'est-ce que je fais mal ?

2 votes

D'après mon expérience, cette approche échouera si vous donnez un exact nom de fichier, par exemple .myspecialdotfile . Il faut qu'il y ait une étoile quelque part pour que ça marche, même si ce n'est théoriquement pas nécessaire.

1 votes

J'ai ceci dans mon .vimrc pour les Dockerfiles qui ont des extensions à des fins différentes. autocmd BufNewFile,BufRead Dockerfile* set filetype=docker Juste en utilisant Dockerfile* empêche la coloration syntaxique de fonctionner lorsque l'on utilise vi Dockerfile - l'ajout de la barre oblique inversée permet de travailler pour Dockerfile / Dockerfile.something y Dockerfilesomething

33voto

slm Points 3435

Jetez un coup d'œil à ceci Vim wikia topic . Quelques conseils utiles :

  • Comme d'autres réponses l'ont mentionné, vous pouvez utiliser la commande vim set pour définir la syntaxe. :set syntax=<type> donde <type> est quelque chose comme perl , html , php etc.

  • Il existe un autre mécanisme qui peut être utilisé pour contrôler la coloration syntaxique appelé filetype ou ft pour faire court. Comme pour la syntaxe, vous lui donnez un type comme ceci : :set filetype=html . Les autres types de fichiers sont perl , php etc.

  • Parfois vim "oublie" quelle syntaxe utiliser, surtout si vous mélangez des choses comme php et html. Utilisez le raccourci clavier Ctrl + L ( <C-L> ) pour que vim rafraîchisse la mise en évidence.

0 votes

Meilleure réponse ! + !

21voto

Daniel Points 175

Notez que :set syntax=xml s'affiche correctement mais semble échouer lorsque l'on tente d'indenter automatiquement le fichier (c'est-à-dire en exécutant gg=G ).

Quand je suis passé à :set filetype=xml le surlignage a fonctionné correctement et le fichier a été indenté correctement.

19voto

Dans un fichier .php (ou un fichier html), vous pourriez utiliser une balise Vim Modeline pour forcer certaines commandes ou certains paramètres :

 1 /* vim: syntax=javascript
 2  *
 3  * .submit_norefresh()
 ~
 ~

2 votes

Vous voulez dire Modeline

0 votes

Parfois, la syntaxe au ... dans mon ~/.vimrc sont ignorés pour certains fichiers (vraisemblablement en raison de métadonnées modifiées ?). En dehors de la copie du contenu de ce fichier dans un nouveau fichier, la mise en place d'une modélisation en haut de ce fichier fonctionne. Par exemple, pour un BASH script, ajouter une deuxième ligne, # vim: syntax=sh après le shebang (première ligne : #!/bin/bash ) semble fonctionner, de manière fiable. Comme il s'agit essentiellement d'un "commentaire", j'inclus simplement les deux lignes dans mon fichier sbb ("shebang bash") snippet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X