我正在尝试编辑python.vim语法文件,以复制Textmate中python的语法高亮显示.附图说明了我正在努力实现的功能参数的突出显示.

self,a,b在Textmate中突出显示,但在Vim中不突出显示.我想我必须做以下事情.
匹配新区域
syn region pythonFunction start="(" end=")" contains=pythonParameters skipwhite transparent
Run Code Online (Sandbox Code Playgroud)尝试匹配字符串后跟逗号
syn match pythonParameters ".*" contained
Run Code Online (Sandbox Code Playgroud)所以在第2点,".*"将匹配任何字符串,并且必须进一步扩展为正确.但是我不确定我是否在正确的路径上,因为2中的匹配不限于括号()之间的区域.任何提示或输入将不胜感激.
编辑1:如果有人想知道最终结果如何.
这是我为python突出显示的vim语法.

编辑2:因此,为了最终彻底,我为它创建了一个github页面.
好的,你有几个问题.
所以,找到pythonFunction匹配,并将其更改为:
syn match pythonFunction
\ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained nextgroup=pythonVars
Run Code Online (Sandbox Code Playgroud)
添加nextgroup告诉vim在函数定义后匹配pythonVars.
然后加:
syn region pythonVars start="(" end=")" contained contains=pythonParameters transparent keepend
syn match pythonParameters "[^,]*" contained skipwhite
Run Code Online (Sandbox Code Playgroud)
最后,要实际突出显示它,找到该HiLink部分,并添加:
HiLink pythonParameters Comment
Run Code Online (Sandbox Code Playgroud)
更改Comment为您想要的分组,或添加您自己的分组.我正在使用Statement自己.