Vim syntax highlighting lost on single file

You provide very little information about your environment and configuration, so I can just help you help yourself.

Compare the following options for the two different JavaScript files:

:verbose setlocal syntax? filetype?

Then check the list of :autocmd for any pattern that might target the problematic JavaScript file. Do you use a local vimrc plugin? It might affect this, too.

If all that doesn't provide a clue, capture the sequence of commands with

:set verbose=20 | edit a.js

and watch out for commands that affect 'syntax'.


Try deleting any saved views (i.e. from mkview). I often have this problem if I didn't cleanly exit all my vims when I logout/shutdown. If you've set something like

au BufWinLeave ?* mkview

in your .vimrc as many do, you'll automatically have these views. As mentioned in the accepted answer, you can find where this file is by using:

:verbose setlocal syntax? filetype?