我怀疑命令syntax case ignore
在版本7.3和7.4之间发生了变化
这是我相当小的测试文件(test_1.vim
):
syntax clear
syntax on
syntax case ignore
syntax match garbage "[^ \t]"
syntax match ident "[a-z][a-z0-9]*"
syntax keyword keyw foo bar baz
highlight def link garbage Error
highlight def link ident Normal
highlight def link keyw Function
我想在此文件(test_1.no-no
)上应用此语法文件:
foo abc ABC
当我打开文件时
gvim -u NONE test_1.no-no "+source test_1.vim"
这三个词在vim 7.3中按预期突出显示。
然而,在vim 7.4中,单词ABC
似乎被认为是 garbage ,因为它与“错误颜色”一起被高亮显示。
我是否遗漏了某些东西或预期会出现这种变化?
答案 0 :(得分:2)
我可以使用Ubuntu 13.10附带的Vim 7.4.000重现这一点,但不能使用自编译的Vim 7.4.135。看起来像是新的基于NFA的正则表达式引擎中的一个错误,同时已修复。
如果您无法升级到较新的Vim版本,可以通过
切换回旧引擎来解决此问题。:set regexpengine=1
将来,这些问题和错误报告最好发送到vim_dev mailing list。