vim - 文件保存期间语法高亮随机消失

标签 vim syntax-highlighting vi vim-syntax-highlighting

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

最佳答案

这不是解决方案,但在评论中很难写/读。

我的意思是,当我开始修复自己的 .vimrc 时,我正在搞乱语法/突出显示。 ,这就是我注意到它的原因。syntax on/syntax enable只准备文件加载的东西(添加很多 auBufNewFile / BufRead )。因此,如果某些插件在写入文件时弄乱了语法/高亮设置,则必须再次加载该文件才能使所有“魔法”发生,仅设置 filetype 是不够的。 .做 :au BufRead并且您将看到在启动语法时添加的所有自动命令。但是必须加载该文件才能获取所有设置。
看到这个:> 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/

相关文章:

vim - 我应该在 .vimrc 文件中使用单引号还是双引号?

c# - 是否可以对内联 SQL 进行语法高亮显示?

search - VIM:如何搜索匹配没有特定字符的行?

regex - 当表达式中涉及数学除法时,如何使用 vim regex 替换文本

linux - 如何配置 Vim 备份目录

go - 在fmt和GoLand中突出显示语法

vim - 在vim中搜索并删除到行尾

vi -/etc/apt/sources.list"E212 : Can't open file for writing

Vim:如何声明具有特定名称的文件应该属于某种文件类型?

Vim:使用不同的文件类型突出显示 latex 注释。