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?
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.
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
au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML
And add this line to ~/.vimrc
to make the settings persistent.
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