vim: persistent: définit la syntaxe pour un type de fichier donné?

Je travaille sur un projet Symfony2 qui utilise Twig, et les types de fichiers sont myfile.html.twig . Vim ne détecte pas automatiquement la coloration syntaxique et ne l’applique pas. Je peux utiliser :set syntax=HTML après avoir ouvert le fichier, mais c’est difficile lorsque vous passez d’un fichier à un autre.

Existe-t-il un moyen de définir de manière persistante la coloration syntaxique pour un type de fichier spécifique dans vim?

Vous pouvez utiliser autocmd pour accomplir cela, à savoir:

 augroup twig_ft au! autocmd BufNewFile,BufRead *.html.twig set syntax=html augroup END 

Devrait marcher.

Ajoutez l’un des passages suivants à votre .vimrc :

 " Set the filetype based on the file's extension, overriding any " 'filetype' that has already been set au BufRead,BufNewFile *.html.twig set filetype=html 

ou

 " Set the filetype based on the file's extension, but only if " 'filetype' has not already been set au BufRead,BufNewFile *.html.twig setfiletype html 
 au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML 

Et ajoutez cette ligne à ~/.vimrc pour rendre les parameters persistants.

Je sais que cela ne répond pas directement à la question, mais cela répond à l’intention de la question, qui consiste à utiliser la mise en évidence de la syntaxe avec Twig / Symfony 2.

Je vous suggère de consulter https://github.com/beyondwords/vim-twig (pas le mien), qui fournit:

  • le fichier de mise en évidence de la syntaxe pour * .html.twig,
  • détection de type de fichier pour les mêmes, et
  • type de fichier plugin, vous permettant de modifier divers parameters selon vos besoins lors de l’édition de fichiers * .html.twig

J’espère que ça aide