【发布时间】:2015-10-19 05:10:10
【问题描述】:
我正在试验 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
我已经尝试了这个正则表达式的许多排列:什么都不转义/一切,用单引号/双引号括起来等等都无济于事。
我是否遗漏了一些明显的东西?我是否误解了语法/匹配/隐藏应该如何协同工作?
【问题讨论】:
-
你为什么使用 exec?删除 exec 仍然会使命令工作......
-
在第一行中,使用带双引号的execute是错误的,因为反斜杠被解释了,你应该使用单引号,或者放一些双反斜杠,或者去掉
execute -
不幸的是,the plugin 我有兴趣扩展使用
execute "syntax match ..."。