我想改变.R 文件中后跟左括号的关键字的颜色。
例如,当我输入时length()
,我希望单词length
被突出显示(而不是括号),但是当我仅输入时,length
它不会收到任何突出显示。
我还想根据单词指定突出显示的颜色。因此length()
和function()
应该会导致length
和的颜色不同function
。
编辑:到目前为止,我在 r.vim 语法文件中使用以下行来匹配有效的 R 对象名称,后跟(:
syn match rFunction "\(\(\a\|[.][._\a]\)[._\a0-9]*\)\+\ *("
这工作正常,但我不想(
在最后突出显示它,而是将其设置为我的默认值。
答案1
由于您已经有了要匹配的模式,我认为您可以使用偏移来突出显示。从vim
文档:
*:syn-pattern-offset*
The pattern can be followed by a character offset. This can be used to
change the highlighted part
...
Example:
:syn match String /"[^"]*"/hs=s+1,he=e-1
some "string" text
^^^^^^ highlighted
所以我认为这应该可以完成这项工作:
syn match rFunction "\(\(\a\|[.][._\a]\)[._\w]*\)\+\ *("he=e-1
您还可以使用前瞻,这将是更好的选择,因为它允许您避免某些元素进入匹配:
syn match rFunction "\(\(\a\|[.][._\a]\)[._\w]*\)\+\ *[(]\@="