【发布时间】:2011-01-10 03:35:30
【问题描述】:
我想让 vim 突出显示匹配某些模式的整行。我可以将一行中的所有文本突出显示(通过执行syn match MyMatch "^.*text-to-match.*$"),但它总是停在文本的末尾。我想继续到学期结束,比如突出显示 CursorLine。
我尝试将$ 替换为\n^,希望能将其包裹起来。不用找了。 (我实际上没想到这会起作用,但尝试并没有什么坏处。)我还尝试调整 syn-pattern-offset(我在这里读到:http://vimdoc.sourceforge.net/htmldoc/syntax.html#:syn-pattern)。长话短说,添加 he=he-5 会少突出 5 个字符,但 he=he+5 不会显示任何多余的字符,因为没有要突出显示的字符。
这是我第一次尝试制作 vim 语法,而且我对 vim 还比较陌生。请保持温和并包括解释。
谢谢!
(编辑:忘了包括,这是一个多行高亮。这可能会增加一点复杂性。)
【问题讨论】:
-
你的模式应该是
^.*text-to-match.*$吗? -
杰弗罗米,是的。 SO显然使用包装的星号来做斜体。现在已经修好了。
-
没有其他语法,但我的语法的其余部分完全有可能是自己打的。也许我应该从我想要完全突出显示的行开始,然后在工作后编写其余部分?
-
哦,我完全将“整行”读作“整行文本”。我怀疑实际上没有办法做到这一点。
-
一直在寻找同样的东西,实际上它对我有用,因为它忽略了 ^ 和 $
标签: vim syntax syntax-highlighting line highlighting