在我为vim安装了'artesanal‘主题并打开语法高亮显示之后,每个vim窗口都有语法高亮显示,包括全新的空窗口No Name,没有名称或文件类型。我想知道你们中是否有人知道如何对每个扩展名为扩展名的文件保持语法高亮显示,但是对于任何没有名称或文件扩展名的文件都禁用它。
发布于 2018-11-23 07:41:37
这种情况不应该发生。我不知道artesanal (而且“主题”在Vim中是一个未定义的术语;它有颜色方案、文件类型插件和语法脚本;我希望它不是像spf-13和Janus那样的完整的Vim“发行版”,它们通过快速安装和开箱即用的设置来吸引您,但您付出的代价是增加了复杂性(您需要理解Vim的运行时加载方案和任意的分发约定)和不灵活(发行版可能会使一些事情变得更容易,但其他事情非常困难)。
即使对于普通文件,语法看起来也是活动的。通常,语法是由文件类型决定的,所以首先检查:verbose setlocal filetype?
。如果这返回一个值,则需要查看:help filetypes
的检测情况。
如果这是空的,也可能是某些东西直接设置了'syntax'
。您可以使用相同的方式进行检查::verbose setlocal syntax?
。
现在,如果它也是空的,而且:syntax list
没有显示什么,那么高亮显示也可能来自:match
或:call matchadd()
命令;:call clearmatches()
会删除这个命令。(您仍然需要找到定义这些匹配的源。)
发布于 2018-11-23 06:37:49
您可以检查是否设置了文件类型。
if &filetype != ""
syntax enable
endif
https://stackoverflow.com/questions/53440881
复制相似问题