首先我使用的是 Neovim,所以我不知道它是否也适用于 Vim。
我正在创建具有以下区域的语法文件:
syn region TestRegion start='^RegionStart\n^NextLineStart' end='^RegionEnd'
hi TestRegion guifg=Red
我写了以下内容:
RegionStart
NextLineStart
placeholder
RegionEnd
当我“打破”模式并删除“NextLineStart”的“N”时,这些行仍然突出显示。如果我转到文档末尾然后返回或重置语法 (
:set syn=MySyntax
) 它不再突出显示。
然后,如果我重新插入“N”,它不会突出显示该区域,直到我进行相同的操作。
另一方面,当我通过输入或打破模式修改“RegionStart”或“RegionEnd”时,它会立即做出反应。
令我感到奇怪的是,如果我删除“NextLineStart”的“S”,它不会做出反应,但如果我进行一些小操作使其不突出显示,然后将“S”重新插入它的位置,它会立即突出显示该区域。
我做错了什么吗?如果没有,有办法解决吗?