Vim中的-syntax-highlighting
Vim 中的 syntax-highlighting 就是根据关键词来对文件内容进行高亮显示.
syntax keyword 定义一组语法类型并 link 到一个 highlight group
1 |
|
这里的 syntax keyword
是定义的语法前缀.
NewSyntaxGroup
是定义的语法类型名称.
to
和 times
是这一组语法名称中的成员.
写了两行是进行扩充, 此时 NewSyntaxGroup
中有 to
, times
, where
, if
这四个成员.
highlight link NewSyntaxGroup Keyword
将 NewSyntaxGroup
这个语法类型的样式链接到 Keyword
这个Vim 内置样式.
syntax iskeyword
用于定义一个关键词可以由哪些字符组成. 如:
1 |
|
这里的 48-57
和 192-255
都是 ASCII 码, 48-57
表示数字 0-9
, 192-255
表示一些非英语语言的字符.
group-name
group-name 带 *
前缀的具有更高的优先级, 如:
*Ignore
*Error
syntax match 用正则表达式匹配关键词
1 |
|
这里的 NewSyntaxGroup
同样是定义一个语法组, \v#.*$
为这个组的成员 (用正则表达式匹配)
注意 \v
的意思是 very magic
(vim 的一中正则表达式模式).
需要注意的是, syntax match
不支持在一行中放多组正则表达式.
syn-priority
关于匹配同一个关键字对于高亮的应用的优先级:
Keyword
高于Match
和Region
其他看 :h syn-priority
syntax region
匹配一个范围:
1 |
|
start
和 end
指定开头和结束的位置.
skip
参数告诉Vim: “一旦你开始匹配这个区域,我希望你忽略skip匹配的内容,即使它会被当作区域结束的标志”.
这里 skip
匹配的是 \
后加上一个字符, 如 \"
(原本是用来转义的)
Vim中的-syntax-highlighting
http://example.com/2023/09/11/Vim中的-syntax-highlighting/