首页 > 解决方案 > 如何关闭没有文件名或文件类型的新 vim 窗口的语法突出显示?

问题描述

在我为 vim 安装 'artesanal' 主题并打开语法突出显示后,每个 vim 窗口都有语法突出显示,包括全新的空窗口 [No Name],没有名称或文件类型。我想知道你们中是否有人知道如何为每个带有扩展名的文件保持语法突出显示,但对任何没有名称或文件扩展名的文件禁用它。 无文件扩展名的语法高亮示例

标签: vimvim-syntax-highlighting

解决方案


这不应该发生。我不知道artesanal(并且“主题”在 Vim 中是一个未定义的术语;它有颜色方案文件类型插件语法脚本;我希望它不是像spf-13Janus这样的完整 Vim“发行版” ,它会用快速安装和开箱即用的设置,但您付出的代价是增加了复杂性(您需要了解 Vim 的运行时加载方案和分发的任意约定)和不灵活(分发可能会使某些事情变得更容易,但其他事情非常困难))。

即使对于普通文件,看起来语法也是有效的。通常,语法由filetype决定,因此请先检查:verbose setlocal filetype?。如果这返回一个值,您需要查看:help filetypes.

如果这是空的,也可能是'syntax'直接设置的东西。您可以以相同的方式检查::verbose setlocal syntax?

现在,如果那也是空的,并且:syntax list没有显示任何东西,突出显示也可能来自:match:call matchadd()命令;:call clearmatches()然后将其删除。(而且您仍然需要找到定义这些匹配项的来源。)


推荐阅读