Vim中的子匹配语法高亮显示
发布时间:2020-12-15 21:37:30 所属栏目:安全 来源:网络整理
导读:首先,我将展示我遇到的具体问题,但我认为问题可以概括. 我正在使用一种具有明确括号语法的语言(如Lisp),但是只有左侧paren保留的关键字.例: (key key) 前者是保留字,但后者是对名为“key”的变量的引用 不幸的是,我发现突出显示左边的人很烦人,所以我最终使
首先,我将展示我遇到的具体问题,但我认为问题可以概括.
我正在使用一种具有明确括号语法的语言(如Lisp),但是只有左侧paren保留的关键字.例: (key key) 前者是保留字,但后者是对名为“key”的变量的引用 不幸的是,我发现突出显示左边的人很烦人,所以我最终使用了 syn keyword classification key 代替 syn keyword classification (key 但前者对变量的触发也是如此. 我会采取行动解决我的问题,但我更感兴趣的是一种通用方法来突出显示给定匹配的一个子集. 解决方法
在这种情况下单独使用syn关键字是行不通的,因为您希望突出显示更加了解周围的语法. syn区域,syn匹配和syn关键字的组合效果很好.
hi link lispFuncs Function hi link lispFunc Identifier hi link sExpr Statement syn keyword lispFuncs key foo bar contained containedin=lispFunc syn match lispFunc "(@<=w+" contained containedin=sExpr contains=lispFuncs syn region sExpr matchgroup=Special start="(" end=")" contains=sExpr,lispFuncs 以上只会使用功能突出显示组突出显示键,foo和bar,前提是它们也与lispFunc匹配. 如果除了key,foo和bar之外还有其他单词(将使用Identifier高亮组突出显示它们.这允许您区分标准函数名称和用户创建的名称. (和)将使用特殊突出显示组突出显示,并且使用语句突出显示组突出显示第一个词之后的()内的任何内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |