我试图编辑python.vim语法文件,以复制Textmate中python的语法高亮显示。附图说明了我努力实现的功能参数的突出显示。
自我,a,b在Textmate中突出显示,但在Vim中没有突出显示。我想我必须做以下事情。
匹配新区域
syn region pythonFunction start="(" end=")" contains=pythonParameters skipwhite transparent
尝试匹配字符串后跟逗号
syn match pythonParameters ".*" contained
所以在第2点,"。*"将匹配任何字符串,必须进一步扩展为正确。但是,我不确定我是否在正确的路径上,因为2中的匹配不受限制 到括号()之间的区域。任何提示或输入将不胜感激。
编辑1:如果有人想知道最终结果如何。
这是我为python突出显示的vim语法。
编辑2:因此,为了最终的彻底性,我为它创建了一个github页面。
答案 0 :(得分:6)
好的,你有几个问题。
因此,找到pythonFunction匹配,并将其更改为:
syn match pythonFunction
\ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained nextgroup=pythonVars
添加nextgroup告诉vim在函数定义之后匹配pythonVars。
然后添加:
syn region pythonVars start="(" end=")" contained contains=pythonParameters transparent keepend
syn match pythonParameters "[^,]*" contained skipwhite
最后,要实际突出显示它,请找到HiLink
部分,然后添加:
HiLink pythonParameters Comment
将Comment
更改为您想要的分组,或添加您自己的分组。我自己使用Statement
。
答案 1 :(得分:0)
Vim,突出显示匹配的括号(),方括号[]和花括号:{}
用于在括号,方括号或大括号上设置光标下前景和背景颜色的配置选项是这个:
hi MatchParen ctermfg=16 ctermbg=208 cterm=bold
启用/禁用光标下行的背景颜色:
:set cursorline
:set nocursorline
设置光标下线条背景颜色的颜色:
hi VisualNOS ctermbg=999
hi Visual ctermbg=999
这是我的改编:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting