问题描述

VIM 支持匹配大括号,括号和方括号。这是非常好的编辑 C-style 语言,如 PHP 和 Javascript 。但是如何匹配 HTML 标签?

记事本++已经有这个功能,只要我一直在使用它。能够发现 HTML 开始和结束的地方是非常有用的。我正在寻找的是像 vim 这样的东西 (见绿色的 div 标签):

(一个奖金功能:突出显示未封闭的 HTML 标签,如此截图中的红色标签) 。

已经提出 matchit 作为 next-best-thing,但它需要额外的按键来使用其功能。我希望能够看到 HTML 的块开始和结束,而不需要额外的按键。

我拖网上网找到这样的 vim 。显然,我不是唯一的,根据 2 其他 StackOverflow questionsnabble

我几乎已经辞职了,不能视觉上匹配 html 标签。 vim 可以这样做吗?

附录:如果目前无法使用任何现有的插件进行此操作,任何 vimscript 向导在任何方面都有指示如何编写合适的插件?

最佳解决方案

我今天必须使用一些 HTML,所以以为我会解决这个问题。添加了一个 ftplugin 到 vim.org 应该解决你的问题。

You can get it here on vim.org

You can get it here on github

希望对你有效。让我知道如果你有任何问题。

次佳解决方案

Greg 的 MatchTag.vim 插件非常棒,但我想要更多的东西。我希望包围的标签始终被突出显示,而不仅仅是光标在其中一个标签上。

所以我写了 MatchTagAlways,它完成了 Greg 的 MatchTag 所做的一切,并且总是突出显示包围的标签,无论光标在代码中的哪里。它还适用于未封闭的标签和 HTML 模板语言,如 Jinja 或 Handlebars 。

这是一个 GIF 显示它的行动:

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛