我正在使用vim编辑一些python文件,最近在我将缓冲区保存在vim中后偶尔会出现语法高亮显示消失的情况。我试图重设syntax onset filetype=python,但无济于事。我根本不知道是什么原因导致此问题,所以现在我的诊断信息很少。但是,有人在此之前遇到过这种情况吗,或者事情会在哪里崩溃?

最佳答案

这不是一个解决方案,但是很难在注释中写/读。

我的意思是,当我开始修复自己的.vimrc时,我在弄乱语法/突出显示,这就是为什么我注意到了它。syntax on/syntax enable仅准备文件加载(将大量au添加到BufNewFile / 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

关于vim - 语法突出显示在文件保存期间随机消失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14779299/

10-14 19:43
查看更多