Comment définir la coloration syntaxique de vim pour traiter une extension de fichier comme un fichier html?
J'utilise ez template, donc l'extension du fichier est .ezt
. Mais il s’agit en grande partie de code HTML normal.
Vous pouvez aussi mettre ceci dans votre .vimrc:
au BufReadPost *.ezt set syntax=html
:set syntax=html
Jetez un coup d'oeil à ceci sujet de Vim wikia . 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>
où <type>
est quelque chose comme Perl
, html
, php
, etc.
Il existe un autre mécanisme permettant de contrôler la coloration syntaxique appelé filetype
ou ft
en abrégé. Semblable à la syntaxe, vous lui donnez un type comme ceci: :set filetype=html
. Les autres types de fichiers sont Perl
, php
, etc.
Parfois, vim "oublie" la syntaxe à utiliser, surtout si vous mélangez des éléments tels que php et html. Utilisez le raccourci clavier Ctrl+L (<C-L>
) pour que vim actualise la mise en évidence.
Notez que :set syntax=xml
est bien mis en surbrillance mais semble échouer lorsqu’on tente d’indentifier automatiquement le fichier (c’est-à-dire en exécutant gg=G
).
Quand je suis passé à :set filetype=xml
, la mise en évidence a fonctionné correctement et le fichier a été mis en retrait correctement.
Dans un fichier .php (ou un fichier html), vous pouvez utiliser un Vim Modeline pour forcer certaines commandes ou certains paramètres:
1 /* vim: syntax=javascript
2 *
3 * .submit_norefresh()
~
~
Pour le rendre automatique, ajoutez cette ligne à votre ~/.vimrc
:
autocmd BufNewFile,BufRead *.ezt set filetype=html
Si vous voulez simplement le faire pour le fichier actuel, tapez:
:set filetype=html
Vous pouvez également remplacer syntax
au lieu de filetype
, mais filetype
affecte plus de choses que syntax
(avec mise en évidence de la syntaxe, règles d'indentation) , et plugins), vous devriez donc généralement utiliser filetype
à moins que vous ne vouliez affecter que syntax
.