web-dev-qa-db-fra.com

Persistant: définir 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 n'applique donc aucune. Je peux utiliser :set syntax=HTML après avoir ouvert le fichier, mais c'est pénible lors du saut entre les fichiers.

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

85
Bendihossan

Vous pouvez utiliser autocmd pour y parvenir, à savoir:

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

Devrait marcher.

103
Hauleth

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
37
Muhammad Reda
au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML

Et ajoutez cette ligne à ~/.vimrc pour rendre les paramètres persistants.

9
Igor Chubin

Je sais que cela ne répond pas directement à la question, mais cela répond à l'intention de la question, qui est de faire en sorte que la coloration syntaxique fonctionne avec Twig/Symfony 2

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

  • le fichier de coloration syntaxique pour * .html.twig,
  • détection de type de fichier pour celui-ci, et
  • plugin de type de fichier, vous permettant de modifier divers paramètres selon les besoins lors de la modification des fichiers * .html.twig

J'espère que ça aide

2
ebonhand