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

发布于 2024-12-15 11:06:04 字数 340 浏览 3 评论 0原文

为了在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原来分手还会想你 2024-12-22 11:06:06

:match 仅匹配某一位置的一个模式时间。 :2match:3match 正是出于这个原因而存在。试试这个:

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

或者,您可以将其实现为 syntax< /a>.试试这个:

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

:match only matches one pattern at a time. :2match and :3match exist for exactly this reason. Try this:

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

Alternatively, you can implement this as syntax. Try this:

syntax match whitespaceEOL /\s\+$/
syntax match ColorColumn /\%>80v.\+/
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文