Persistent :set syntax for a given filetype?

Syntax HighlightingVimTwigMacvim

Syntax Highlighting Problem Overview


I'm working on a Symfony2 project which uses Twig, and the filetypes are myfile.html.twig. Vim doesn't automatically detect the syntax highlighting and so applies none. I can use :set syntax=HTML after I've opened the file but this is a pain when jumping between files.

Is there a way to persistently set the syntax highlighting for a specific file type in vim?

Syntax Highlighting Solutions


Solution 1 - Syntax Highlighting

You can use autocmd to accomplish that, i.e.:

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

Should work.

Solution 2 - Syntax Highlighting

Add one of the following passages to your .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

or

" 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

Solution 3 - Syntax Highlighting

au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML

And add this line to ~/.vimrc to make the settings persistent.

Solution 4 - Syntax Highlighting

I know this doesn't directly answer the question, however this answers the intent of the question, which is to get syntax highlighting working with Twig / Symfony 2

I suggest you check out https://github.com/beyondwords/vim-twig (not mine), which provides:

  • the syntax highlighting file for *.html.twig,
  • file type detection for same, and
  • file type plugin, allowing you to modify various settings as required when editing *.html.twig files

I hope this helps

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBendihossanView Question on Stackoverflow
Solution 1 - Syntax HighlightingHaulethView Answer on Stackoverflow
Solution 2 - Syntax HighlightingMuhammad RedaView Answer on Stackoverflow
Solution 3 - Syntax HighlightingIgor ChubinView Answer on Stackoverflow
Solution 4 - Syntax HighlightingebonhandView Answer on Stackoverflow