微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

脚本 – 是否可以让Vim语法文件命令跨越多行?

我正在尝试创建一个语法文件,我想为不同的颜色突出显示创建一些关键字组(例如保留字,运算符等将是不同的颜色).我可以通过执行以下两个选项之一来实现此功能

选项1

syn keyword MyLangOperators operator1 operator2 operator3
syn keyword MyLangOperators operator4 operator5 operator6

syn keyword MyLangreserved reserved1 reserved2 reserved3
syn keyword MyLangreserved reserved4 reserved5 reserved6

这不是太糟糕,但如果我试图按字母顺序保留它们,一旦保留/运算符等的数量在那里变得非常混乱.特别是如果你需要在某个地方添加新的.

选项2

syn keyword MyLangOperators operator1
syn keyword MyLangOperators operator2
syn keyword MyLangOperators operator3
syn keyword MyLangOperators operator4
syn keyword MyLangOperators operator5
syn keyword MyLangOperators operator6

syn keyword MyLangreserved reserved1
syn keyword MyLangreserved reserved2
syn keyword MyLangreserved reserved3
syn keyword MyLangreserved reserved4
syn keyword MyLangreserved reserved5
syn keyword MyLangreserved reserved6

这个选项以后更容易添加保留/运算符,因为很容易按字母顺序保留它们.但是,每行都有很多重复的文本(即syn关键字[groupname]).

有没有可能的方法能够在多行上跨越命令?这样的事情可能是:

syn keyword MyLangOperators ~
    operator1 ~
    operator2 ~
    operator3 ~
    operator4 ~
    operator5 ~
    operator6

syn keyword MyLangreserved ~
    reserved1 ~
    reserved2 ~
    reserved3 ~
    reserved4 ~
    reserved5 ~
    reserved6

在这种情况下,波浪号(〜)将是Vim编辑器的信号,命令继续到下一行.

有没有这样的事情,或者我坚持使用选项1或2(很可能我会选择2)?

解决方法

这样做(:帮助行继续)

syn keyword MyLangOperators
    \ operator1
    \ operator2
    \ operator3
    \ operator4
    \ operator5
    \ operator6

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐