我想在 Vim(GUI 版本)中自定义语法高亮。我的语言有一个现有的语法文件。如果该行以>
. 我发现我基本上可以通过
:syntax match Output /^>.*$/
并添加
:hi Output guibg=LightBlue
到配色方案。这些Output
行中文本的背景被着色为浅蓝色,但它也覆盖了前景色。所以大部分语法高亮消失了。如何在这些行中保持前台语法突出显示?
另外:有没有办法将背景的突出显示扩展到这些行的末尾(屏幕的右端)?
我想在 Vim(GUI 版本)中自定义语法高亮。我的语言有一个现有的语法文件。如果该行以>
. 我发现我基本上可以通过
:syntax match Output /^>.*$/
并添加
:hi Output guibg=LightBlue
到配色方案。这些Output
行中文本的背景被着色为浅蓝色,但它也覆盖了前景色。所以大部分语法高亮消失了。如何在这些行中保持前台语法突出显示?
另外:有没有办法将背景的突出显示扩展到这些行的末尾(屏幕的右端)?
这是保留语法的方法,我匹配以开头的行{
:hi Output guibg=LightBlue
:match Output '\%>0v{.*'
编辑:因为你想要你需要的相反
:match Output '^[^<].*$'
尝试这个:
:hi Output guibg=LightBlue guifg=NONE
:match
正如 Eric Fortis 所指出的那样,实现您正在寻找的最简单的方法是使用命令。
我所知道的通过语法突出显示来实现这一点的唯一方法是要求您像当前所做的那样匹配整行。然后,您需要使用contains=...
修饰符指定哪些语法元素可以在您的行中。我也很确定这些元素需要contained
分配给它们的属性。这样,在您的行中找到的任何元素(即与 匹配).*
都将保留它的突出显示。
查看:help :syn-contains
更多。