Vim peut-il mettre en évidence les balises HTML correspondantes comme Notepad ++?

VIM prend en charge les paires d’accolades, de parenthèses et de crochets. C’est idéal pour éditer des langages de style C comme PHP et Javascript. Mais qu’en est-il des balises HTML correspondantes?

Notepad ++ a eu cette fonctionnalité aussi longtemps que je l’utilise. Être capable de repérer où les blocs de HTML commencent et finissent est très utile. Ce que je cherche, c’est quelque chose comme ça pour vim (voir les balises div vertes):

(un bonus: mettre en évidence les balises HTML non fermées, comme la balise rouge dans cette capture d’écran).

matchit a été proposé comme la meilleure solution , mais il nécessite une frappe supplémentaire pour utiliser ses fonctionnalités. Je voudrais pouvoir voir où les blocs de HTML commencent et finissent sans une pression supplémentaire.

J’ai parcouru Internet pour trouver quelque chose comme ça pour vim. Apparemment, je ne suis pas le seul, selon 2 autres questions de StackOverflow .

Je me suis presque résigné à ne pas pouvoir associer visuellement les balises HTML. Est-ce possible pour vim de le faire?

Addendum: S’il n’est actuellement pas possible de faire cela avec des plugins existants, est-ce qu’un assistant de vimscript a des conseils sur la manière d’écrire un plugin approprié?

J’ai dû travailler avec du HTML aujourd’hui, alors j’ai pensé que je m’attaquerais à cela. Ajout d’un ftplugin à vim.org qui devrait résoudre votre problème.

Vous pouvez l’obtenir ici sur vim.org .

Vous pouvez l’obtenir ici sur github .

J’espère que ça marche pour toi. Dites moi si vous avez le moindre problème.

Le plugin MatchTag.vim de Greg est génial, mais je voulais quelque chose de plus. Je voulais que les balises englobantes soient toujours mises en évidence, pas seulement lorsque le curseur se trouve sur l’une des balises.

J’ai donc écrit MatchTagAlways qui fait tout ce que fait Greg MatchTag et met toujours en évidence la balise englobante, peu importe où se trouve le curseur dans le code. Il fonctionne également avec les balises non fermées et les langages de modélisation HTML tels que Jinja ou Handlebars.

Voici un GIF qui le montre en action:

MTA en action

Je suis venu ici pour chercher des crochets de style html assortis dans Vim. Cela semble fonctionner:

:set mps+=<:> :help matchpairs