我有以下几行 after/ftplugin/yaml.vim
syn match yamlBlockMappingKey /^\s*\zs.*\ze\s*:\%(\s\|$\)/
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
execute 'syn match yamlBlockMappingKey /^\s*\zs.*\ze\s*:\%(\s\|$\)/'
Run Code Online (Sandbox Code Playgroud)
这样做的目的是使vim正确地突出显示包含空格的键,根据此stackoverflow问题.问题是当我打开一个新的YAML文件时,该命令似乎不起作用.我知道这after/ftplugin/yaml.vim是在采购,因为我echom在那里放了一个命令,它出现了messages.此外,如果我只是将该行并将其粘贴到命令提示符并执行它,它就可以工作.谁知道怎么了?
该ftplugin脚本来源之前语法脚本,所以默认YAML语法清除您的附加定义.将您的扩展程序放入after/syntax/yaml.vim; 毕竟,您正在扩展语法,而不是文件类型设置.