在文件保存期间,语法突出显示随机消失

nye*_*e17 7 vi vim syntax-highlighting vim-syntax-highlighting

我正在使用vim来编辑一些python文件,最近它偶尔发生,我将缓冲区保存在vim中后语法突出显示消失了.我试图重启syntax onset filetype=python,但无济于事.我根本不知道导致这个问题的原因,所以现在我的诊断信息很少.但是之前有没有人遇到过这种情况,或者哪里可能发生故障?

244*_*4an 5

这不是一个解决方案,但在评论中写入/读取很困难.

我的意思是当我开始修复自己时,我正在弄乱语法/突出显示.vimrc,这就是为什么我注意到它.
syntax on/ syntax enable只准备文件装载的东西(加入了大量的auBufNewFile / BufRead).因此,如果某个插件在编写文件时弄乱了语法/高亮设置,则必须再次加载该文件以使所有"魔法"发生,这对于设置来说还不够filetype.难道:au BufRead你会看到启动语法时添加的自动命令.但是必须加载该文件才能获得所有settigs.
见:>syntax-loading

如果您不想重新加载文件,请尝试syntax enable,我认为这是不同的syntax on.
或者也尝试一下:doautocmd filetypedetect BufRead %,参见>autocmd-execute

我不知道造成这个问题的原因是什么,不是吗?如果你添加了一些自动命令,或者做自己的颜色/语法?
否则,在您获得解决方案之前,您可以尝试autocmd BufWritePost * <with the commands above that works>在结束时添加.vimrc,augroup在这种情况下使用.

这是一个例子:

augroup myResetSyntax
  au!
  autocmd BufWritePost * syntax enable | doautocmd filetypedetect BufRead "%"
augroup END
Run Code Online (Sandbox Code Playgroud)