为vim安装'artesanal'主题并打开语法高亮显示后,每个vim窗口都有语法高亮显示,包括全新的空窗口[No Name],没有名称或文件类型。我想知道你们是否知道如何对每个带有扩展名的文件保持语法高亮显示,但是对没有名称或文件扩展名的任何文件禁用语法高亮显示。
答案 0 :(得分:1)
这不应该发生。我不知道 artesanal (“主题”是Vim中未定义的术语;它具有 colorschemes , filetype插件和语法脚本;我希望它不是像 spf-13 和 Janus 这样的完整Vim“发行版”,它们可以快速安装并逐步淘汰您。设置,但您付出的代价是复杂性增加(您需要了解Vim的运行时加载方案和发行版的任意约定)和不灵活(发行版可能使某些事情变得容易,而另一些事情却非常困难))。
即使对于纯文件,语法似乎也处于活动状态。通常,语法由文件类型决定,因此请首先检查:verbose setlocal filetype?
。如果返回值,则需要检查:help filetypes
的检测情况。
如果为空,也可能是某些东西直接设置了'syntax'
。您可以使用相同的方式进行检查::verbose setlocal syntax?
。
现在,如果它还是空的,并且:syntax list
没有显示任何内容,则突出显示也可能来自:match
或:call matchadd()
命令; :call clearmatches()
将会删除此内容。 (而且您仍然需要找到定义这些匹配项的源。)
答案 1 :(得分:0)
您可以检查是否已设置文件类型
if &filetype != ""
syntax enable
endif