Syntax highlighting randomly disappears during file saving

This is not a solution, but it's hard to write/read in the comments.

I meant that I was messing around with syntax/highlighting when I start to fix my own .vimrc, thats why I noticed it.
syntax on / syntax enable is only preparing for file load stuff (adding a lot of au to BufNewFile / BufRead). So if some plugin is messing with syntax/highlight settings when writing the file, the file must be loaded again for all "magic" to happen, it's not enough with setting filetype. Do :au BufRead and you will see all autocommands added when starting syntax. But the file must be loaded then to get all settigs.
See this:> syntax-loading

If you don't want to reload the file, try syntax enable, I think that is different to syntax on.
Or try also doing :doautocmd filetypedetect BufRead %, see > autocmd-execute

I don't know what is causing the problem, can it be you? If you added some autocommands, or doing own colors/syntax?
Otherwise, until you get a solution, you can perhaps try to add autocmd BufWritePost * <with the commands above that works> at the end of your .vimrc, use augroup in that case.

Here is an example:

augroup myResetSyntax
  au!
  autocmd BufWritePost * syntax enable | doautocmd filetypedetect BufRead "%"
augroup END

Now after a while I realize the screwy highlighting is caused by folding rather than than any mysterious forces associated with file saving, so a simple fix* would be to put the following in my vimrc

noremap <F9> <Esc>:syntax sync fromstart<CR>
inoremap <F9> <C-o>:syntax sync fromstart<CR>

and press F9 whenever something screwy happens.

  • Solution discovered from here

You can also restore the syntax by reloading the buffer simply by:

:e