gpt4 book ai didi

Vim 语法高亮和某些字符

转载 作者:行者123 更新时间:2023-12-02 22:31:03 28 4
gpt4 key购买 nike

我正在尝试为 Vim 编写一个语法文件。

其中一行代码是这样的

syn match constant "\**\*"

而许多其他行之一读取

syn keyword aiOperators up-build

高亮代码如下:

hi constant gui=bold
hi aiOperators guifg=green

但是,上面的结果是只有以下内容被突出显示:

  • 每个常量的星号,但不是它们之间的字符。
  • aiOperators 的第一个连字符之前的字符。

似乎是什么问题?

最佳答案

常量的正则表达式指定一个星号,零次或多次,后跟一个星号。如果您打算匹配由星号分隔的字符,您需要类似 \*\w\+\* 的内容:一个字面星号,后跟一个或多个单词字符,然后是一个字面星号。

:syn keyword 只对关键字字符有效;默认情况下,连字符包括在内,因此匹配到此为止。如果对于您的文件类型,连字符属于关键字字符集,请使用

:setlocal iskeyword+=-

这不应该放在语法文件本身中,而应该放在 ~/.vim/ftplugin/myfiletype.vim 中。否则,使用 :syn match

关于Vim 语法高亮和某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12238305/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com