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

Vim语法隐藏在上下文中

我想用基于希腊符号的名称隐藏变量,并将它们转换为Unicode等效符号,类似于 vim-cute-python的工作原理.例如,我有这个

Syntax match scalaNiceKeyword "alpha" conceal cchar=α

一个文件中定义,用于隐藏Scala文件,除了它过于激进外,效果很好.如果我写字母,那么隐藏成为αbet,这显然是错误的.如何修改/扩展此隐藏语句,以便它只隐藏与“[_] alpha [_]”匹配的关键字,即我希望进行以下转换

alpha_1 => α_1
alpha => α
alphabet => alphabet

注意:这与this question类似,但由于我想要匹配的组环境是空格和下划线,因此它似乎稍微复杂一些.天真地定义如下所示的语法区域会使各种错误

syn region scalaGreekGroup start="[ _]" end="[ _]"

提前致谢!

解决方法

修改模式以仅匹配由单词边界或分隔的名称
强调:

:Syntax match scalaNiceKeyword '\(_\|\<\)\zsalpha\ze\(\>\|_\)' conceal cchar=α

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

相关推荐