为什么在 Vim 中定义新的匹配会删除之前定义的匹配?
为了在 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
为什么会发生这种情况?
To show trailing whitespace in Vim, I use the following:
highlight whitespaceEOL term=reverse ctermbg=Grey guibg=Grey
match whitespaceEOL /\s\+\(\%#\)\@!$/
When I use the following match for long lines, the first match is lost:
augroup longLines
autocmd! filetype zsh,sh,python,vim,c,cpp :match ColorColumn /\%>80v.\+/
augroup END
Why is that happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
:match
仅匹配某一位置的一个模式时间。:2match
和:3match
正是出于这个原因而存在。试试这个:或者,您可以将其实现为
syntax
< /a>.试试这个::match
only matches one pattern at a time.:2match
and:3match
exist for exactly this reason. Try this:Alternatively, you can implement this as
syntax
. Try this: