我正在尝试使用Vim的语法隐藏选项,希望能对vim-lambdify有所帮助。但是,在尝试将正则表达式传递给syntax match
时,我看到了(在我看来)意外的行为。
在我的.vimrc中指定以下内容时
execute "syntax match myOperator /foo\(bar\)\@=/ conceal cchar=*"
execute "hi link myOperator mySpecialOperator"
execute "hi! link Conceal mySpecialOperator"
setlocal conceallevel=1
setlocal concealcursor=c
打开以下文件时,看不到
foo
隐藏:foo
foob
foobar
我尝试过这种正则表达式的许多排列方式:不进行任何转义/全部转义,将单引号/双引号引起来,等等,均无济于事。
我是否缺少明显的东西?我是否误解了语法/匹配/隐藏应该如何协同工作?
最佳答案
Reddit在rgvim上回答了这个问题:
第一个执行字符串中的反斜杠需要转义。
/foo\\(bar\\)\\@=/