How to force vim to syntax-highlight a file as html?

HtmlSyntax HighlightingVim

Html Problem Overview


How do I set vim's syntax highlighting to treat a file extension as an html file?

I'm using ez template, so the file's extension is .ezt. But a lot of it is normal html code.

Html Solutions


Solution 1 - Html

:set syntax=html

Solution 2 - Html

You can also put this into your .vimrc:

au BufReadPost *.ezt set syntax=html

Solution 3 - Html

Take a look at this Vim wikia topic. Some useful tips:

  • As other answers have mentioned, you can use the vim set command to set syntax. :set syntax=<type> where <type> is something like perl, html, php, etc.

  • There is another mechanism that can be used to control syntax highlighting called filetype, or ft for short. Similar to syntax, you give it a type like this: :set filetype=html. Other filetypes are perl, php, etc.

  • Sometimes vim "forgets" what syntax to use, especially if you're mixing things like php and html together. Use the keyboard shortcut Ctrl+L (<C-L>) to get vim to refresh the highlighting.

Solution 4 - Html

To make it automatic, add this line to your ~/.vimrc:

autocmd BufNewFile,BufRead *.ezt set filetype=html

If you want to just do it for the current file, then type:

:set filetype=html

You could also substitute syntax instead of filetype, but filetype affects more things than syntax (including syntax highlighting, indenting rules, and plugins), so generally you should use filetype unless you only want to affect syntax.

Solution 5 - Html

Note that :set syntax=xml highlights properly but seems to fail when one is attempting to autoindent the file (i.e. running gg=G).

When I switched to :set filetype=xml, the highlighting worked properly and the file indented properly.

Solution 6 - Html

In a .php file (or a html file), you could use a Vim Modeline to force certain commands or settings:

 1 /* vim: syntax=javascript
 2  *
 3  * .submit_norefresh()
 ~
 ~

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
QuestionKarthickView Question on Stackoverflow
Solution 1 - HtmlAmberView Answer on Stackoverflow
Solution 2 - HtmlBenoitView Answer on Stackoverflow
Solution 3 - HtmlslmView Answer on Stackoverflow
Solution 4 - HtmlwisbuckyView Answer on Stackoverflow
Solution 5 - HtmlDanielView Answer on Stackoverflow
Solution 6 - HtmlЯрослав РахматуллинView Answer on Stackoverflow