我创建了这个名为“〜/ .vim / syntax / proc.vim”的文件,并且已经填充了正则表达式(我认为这就是他们所说的)。我不得不用90年代开发的这种测试语言编写一些测试脚本,称为STOL,用于航天器有效载荷。我在一个安全的环境中工作,所以我唯一可以访问的是vim。
STOL允许您编写几种不同类型的打印语句,我想要一些语法突出显示每种类型的消息之间的区别(错误消息,信息消息等)。
我的vim颜色配置文件名为“〜/ .vim / color / molokai.vim”让我将各种正则表达式链接到特定的语法类,该类将调用特定的颜色。例如,要突出显示关键字,我指定两行,如...
" This is the regex where two keywords have been defined
syntax keyword procKeywords IF ELSE
" This is how I link the above regex to a molokai color class
" which is called Keyword
highlight link procKeywords Keyword
我基本上希望对STOL定义的一些错误和信息消息做同样的事情......
EVENT ERROR "This is a error message"
EVENT INFO "This is a info message"
如何匹配两个特定单词之间的空格?我在“〜/ .vim / syntax / proc.vim”中需要类似下面的内容。以下是错误的,但我只是写出来,告诉你我在想什么......
syntax match procInfo "EVENT INFO"
syntax match procError "EVENT ERROR"
highlight link procInfo ModeMsg
highlight link procError ErrorMsg
答案 0 :(得分:1)
您的尝试已大体上可行。但是,:syntax match
不会像:syntax keyword
那样自动强制执行全关键字匹配,因此您会在例如MYEVENT INFORMATION
也是如此。您可以通过在正则表达式中添加关键字边界原子:help /\<
来轻松解决此问题:
syntax match procInfo "\<EVENT INFO\>"
syntax match procError "\<EVENT ERROR\>"