为什么在 Vim 中定义新的匹配会删除之前定义的匹配?

问题描述 投票:0回答:1

为了在 Vim 中显示尾随空格,我使用以下命令:

highlight whitespaceEOL term=reverse ctermbg=Grey guibg=Grey
match whitespaceEOL /\s\+\(\%#\)\@!$/

当我对长行使用以下匹配时,第一个匹配会丢失:

augroup longLines
    autocmd! filetype zsh,sh,python,vim,c,cpp :match ColorColumn /\%>80v.\+/
augroup END 

为什么会这样?

vim match syntax-highlighting highlight
1个回答
7
投票

:match
一次仅匹配一种模式。

:2match
:3match
正是出于这个原因而存在。

或者,您可以将其实现为

syntax

尝试:

2match whitespaceEOL /\s\+$/
3match ColorColumn /\%>80v.\+/

或者:

syntax match whitespaceEOL /\s\+$/
syntax match ColorColumn /\%>80v.\+/
© www.soinside.com 2019 - 2024. All rights reserved.