Vim 可以突出显示与 Notepad + + 等 HTML 标记匹配的内容吗?

Vim 支持匹配花括号、括号和方括号对。这对于编辑诸如 PHP 和 JavaScript 之类的 C 风格语言非常有用。但是如何匹配 HTML 标记呢?

Notepad + + 在我使用它的时候就有了这个特性。能够发现 HTML 块的开始和结束是非常有用的。我要为 Vim 寻找类似这样的东西(参见绿色 div 标签) :

Example of matching HTML tags highlighting

一个额外的特性: 突出显示未关闭的 HTML 标记,如上面屏幕快照中的红色标记。

Match 被认为是次好的选择,但是它需要额外的按键来使用它的功能。我希望能够看到 HTML 块的开始和结束没有一个额外的按键。

我在网上搜索了一下,想给 Vim 找个这样的东西。显然,我不是唯一一个,根据 其他堆栈溢出问题和 Nabble 线

我几乎已经接受了 Vim 无法在视觉上匹配 HTML 标记的事实。维姆能做到吗?

附录: 如果目前不可能用任何现有的插件做到这一点,是否有任何 Vimscript 向导有任何关于如何编写一个合适的插件的指南?

35745 次浏览

今天我不得不处理一些 HTML,所以我想我可以解决这个问题。添加了一个 ftplugin 到 vim.org,应该可以解决你的问题。

你可以在 vim.org 找到它。

你可以在 github 上找到它。

希望对你有用,有什么问题就告诉我。

我来到这里,在 Vim 中寻找与 html 风格相匹配的尖括号:

:set mps+=<:>
:help matchpairs

Greg 的 MatchTag.vim 插件很棒,但我想要更多。我希望突出显示 一直都是的附加标记,而不仅仅是当光标在其中一个标记上时。

所以我编写了 永远的火柴,它完成了 Greg 的 MatchTag 所做的所有事情,并且总是突出显示附加的标记,无论光标在代码中的哪个位置。它还可以使用非封闭标记和 HTML 模板语言,如金贾或 Handlebar。

下面是一个动态图片:

MTA in action