为什么在/ ftplugin / yaml.vim之后没有这个Vim语法命令?

时间:2013-02-19 20:02:26

标签: vim

我在after/ftplugin/yaml.vim

中有以下一行
syn match yamlBlockMappingKey /^\s*\zs.*\ze\s*:\%(\s\|$\)/

我也试过这个:

execute 'syn match yamlBlockMappingKey /^\s*\zs.*\ze\s*:\%(\s\|$\)/'

这样做的目的是使vim按照this stackoverflow question正确突出显示包含空格的键。问题是当我打开一个新的YAML文件时,该命令似乎不起作用。我知道after/ftplugin/yaml.vim是来源的,因为我在那里放了一个echom命令,它显示在messages中。此外,如果我只是将该行并将其粘贴到命令提示符并执行它,它就可以工作。有谁知道怎么了?

1 个答案:

答案 0 :(得分:5)

{<1}}脚本在语法脚本之前来源,因此默认的YAML语法会清除您的其他定义。将您的扩展程序放入ftplugin;毕竟,您正在扩展语法,而不是文件类型设置。